- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的 Global.asax 中,我在 Session_Start() 中有这段代码:
UserIntranet user = new UserIntranet();
user.Login = this.Request.LogonUserIdentity.Name.Split('\\')[1];
Session["user"] = user as UserIntranet;
在我的 BaseController 中,我有这个属性:
public UserIntranet UserIntranet
{
get
{
return Session["user"] as UserIntranet;
}
}
它在所有使用这个基础 Controller 的矿山 Controller 中工作,但在我的 BaseController Constructor 中不起作用。
这个 session 是空的...
在我的 BaseController 中试试这个:
public BaseController()
{
ViewBag.UserMenu = this.UserIntranet.Login;/* Null */
}
为什么?如何让用户直接在我的 BaseController 中登录?什么是更好的方法?
最佳答案
这很正常,所有与 HttpContext
相关的对象(例如 Session
)尚未在 ASP.NET MVC Controller 的构造函数中初始化。这发生在稍后阶段,在 Initialize
中您可以使用的方法:
public BaseController: Controller
{
protected override void Initialize(RequestContext requestContext)
{
base.Initialize(requestContext);
ViewBag.UserMenu = this.UserIntranet.Login;
}
}
关于c# - 在我的 BaseController 构造函数中获取现有 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234355/
默认的 HomeController 类是使用定义的 class HomeController extends BaseController { 但是,当通过 artisan 创建资源 Control
我有一个 BaseController,如下所示: public class BaseController : Controller { string ApplicationName;
我有一个 basecontroller,其属性如下: public class BaseController : Controller { public User CurrentUser {g
我有以下 BaseApiController: public class BaseApiController : ApiController { public readonly Current
我有一个定义如下的基本 Controller ,但是采用 ISiteService 的构造函数永远不会执行: public class BaseController : Controller {
我已经在 Silex 1.3.4 中创建了一个简单的应用程序,我想要一个基本 Controller ,它有一个接受 $app 和 $request 的 __construct 方法。所有继承的 Con
我有一类属性,这些属性是从我需要在我的 MVC 应用程序的每个 View 上都可用的服务中设置的。 因此,我创建了一个“基础 View 模型”,我的 View 模型将从中继承。 public clas
我应该创建一个包含多个部分的网站。这些部分的功能和 View 完全相同,但我想要不同的 URL,例如 //localhost:111/Works/索引 //localhost:111/OldJobs/
我有一个与 Entity Framework 通信的基础 Controller 。我正在创建一个 dbContext 来与基本 Controller 中的实体对话。当我将家庭 Controller 继
在我的 Global.asax 中,我在 Session_Start() 中有这段代码: UserIntranet user = new UserIntranet(); user.Login = th
我有一个这样的管理命名空间: namespace :admin do resources :users resources :base end 目录结构如下: /app/con
我需要所有 Controller 中的一些通用行为。有一个 BaseController 并让所有 Controller 都扩展该类是个好主意吗?如果是这样,避免 Fatal error: Class
我看了更多关于 MVC 的教程。但我不明白,人们使用“BaseController”做什么?在一个项目中,有人用它来进行所有 Controller 之间的通信。在其他项目中有人用于获取日志。你能给我解
我正在尝试构建我的 Laravel 4 站点,以便 (1) 主要应用程序组的组件( Controller / View /等)耦合在一起,以及 (2) Laravel 的支持代码位于我的 Web 服务
我需要执行以下操作:我已经准备好一些 Controller 并正在运行,但现在我想创建一个 BaseController。我的每个 Controller 都应该像这样继承它: public class
我目前正在努力让 WebApi 中的继承像我想要的那样工作。也许你能给我指出正确的方向? 我的目标是拥有一个通用的 WebApi 项目,它可以在多个其他 WebApi 项目中重复使用。 例如:我有一个
我想重构我的基本 CRUD 操作,因为它们非常重复,但我不确定最好的方法。我所有的 Controller 都继承了 BaseController,它看起来像这样: public class BaseC
我正在尝试在所有 ASP.Net MVC Controller 中共享我的 IMapper Mapper 静态类。但是不知道如何创建从基本 Controller 派生的 Controller 。 我尝
我在 app/controllers/v1/white_label_api 中创建 Controller class Api::WhiteLabel::V1::BaseController < App
我创建了一个 BaseController,我将它混入其他 Controller 。 例子: class BaseController () { def somemethod () { r
我是一名优秀的程序员,十分优秀!