在MVC2中,我使用Page.User.Identity.Name
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
我如何在MVC3中使用它?
答案 0 :(得分:28)
您可以随时执行以下操作:
@Html.ViewContext.HttpContext.User.Identity.Name
但不要。
通常情况下,视图不应尝试获取此类信息。它可以显示控制器传递的任何信息。它应该强类型化为由控制器操作传递的模型类。
因此在渲染此视图的控制器操作中:
[Authorize]
public ActionResult Index()
{
var model = new MyViewModel
{
Username = User.Identity.Name
}
return View(model);
}
现在在视图内部随意使用此信息:
@Model.Username
答案 1 :(得分:11)
MVC 2
<%: this.Page.User.Identity.Name %>
MVC 3
@this.User.Identity.Name
答案 2 :(得分:1)
我遇到了同样的问题。我用this tutorial来解决这个问题。
简而言之,在您看来,请输入以下代码:
@Context.User.Identity.Name
只需确保将项目设置为使用Windows进行身份验证。