使用SAMAccountName值传递到Mailto

时间:2011-02-04 03:42:48

标签: username mailto

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

1 个答案:

答案 0 :(得分:0)

从技术上讲,你应该把它放到ViewData中。如果你必须在整个地方这样做,我建议继承Controller并重写OnActionExecuted以获取当前用户的用户ID并将其放入viewstate:

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();
  }
}

然后在您的视图中,您可以访问ViewData [“userid”]

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

所有这些都说,如果您要进行访问控制等,您可以构建一个“LoggedInUser”类,您可以添加辅助方法。然后将其粘贴在会话中(假设你使用会话就可以了)。您可以在Global.asax Session_Start方法中执行此逻辑。