2010-02-04 75 views
5

我有一个控制器,它根据登录的当前用户获取数据。我想分配一个这样的局部变量:在控制器的构造函数中获取用户名?

 public UsergroupsCustAdminController() 
    { 

     User u = _us.GetUsers(HttpContext.User.Identity.Name).First(); 

     this._customerID = u.CustomerID; 
    } 

不知何故,我无法获得当前用户登录的值。应该如何我修好了吗?我需要在我的控制器类中的许多地方使用“CustomerID”。

/M

回答

7

您试图过早地勾住。建议你重写OnActionExecuting,并把这个代码在那里,就像这样:

protected override void OnActionExecuting(ActionExecutingContext filterContext) 
{ 
    User u = _us.GetUsers(HttpContext.User.Identity.Name).First(); 
    this._customerID = u.CustomerID; 
} 
+0

你有一些例子就说明我如何可以传递变量? – 2010-02-04 08:31:58

+3

为什么程序员不能(正如我假设的那样,他们相当聪明,受过良好教育)拼写正确吗?还有那迷惑基本错误泛滥“他们的”,“有”与“他们”,它真的让我吃惊的是有人能写出相当复杂的程序,但是当涉及到基本的英语失败。 (我的道歉,如果英语不是你的第一语言) – belugabob 2010-02-04 08:32:27

+3

@belugabob - 绝对正确的,我是一个坚持己见的这个自己。不知道如何通过(如果你检查我的编辑列表,你会看到许多拼写,语法和标点符号修复)。 +1为了赶上我。 :) – 2010-02-04 08:38:01

相关问题