2011-02-04 65 views
0

我正在使用MVC。我需要获取当前的AD用户名(可能使用SAMAccountName)并将该值传递给一个mailto javascript(应该在电子邮件正文上传递值)。
我应该在哪里放置SAMAccountName代码,以及如何使用该值?使用SAMAccountName值传递给Mailto

回答

0

从技术上讲,您应该将其放入ViewData中。如果你必须这样做所有的地方,我建议子类控制器和压倒一切的OnActionExecuted来获得当前用户的用户名和将其放入视图状态:

public class BaseController : Controller 
{ 
    protected override void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
    ViewData["userid"] = Request.User.Identity; 
    } 
} 

然后让你的控制程度BaseController

public class MyController : BaseController 
{ 
    public ActionResult View(int id) 
    { 
    return View(); 
    } 
} 

然后在您的视图中可以访问计算机[“用户id”]

<a href="mailto:<%=ViewData["userid"]%>@mycompany.com">Email User</a> 

所有这一切是说,如果你打算做访问控制和T他喜欢,你可能建立一个“LoggedInUser”类,你可以添加辅助方法。然后将其粘贴到会话中(假设您使用会话正常)。您可以在Global.asax Session_Start方法中执行此逻辑。