MVC 2,所以我不知道它是否有所不同。我正在尝试添加页面,以便在用户登录时,他们点击页面右上角的用户名,然后将他们带到显示其详细信息的页面(电子邮件,更改密码链接,个人资料信息等) ..)。我正在尝试使用aspnet MembershipService来执行此操作。
答案 0 :(得分:0)
它与1.0中的相同,如下所示:How to get the current user in ASP.NET MVC
答案 1 :(得分:0)
在您的控制器操作中执行以下操作:
string id = HttpContext.User.Identity.Name.ToString();
ProfileBase profileBase;
if (!String.IsNullOrEmpty(id))
profileBase = ProfileBase.Create(id);
else
profileBase = HttpContext.Profile as ProfileBase;
使用profileBase对象,您可以获取所有配置文件属性:
profileBase.GetPropertyValue("PersonalInformation.FirstName")
使用这些属性,您可以填充自定义视图模型对象,例如:
public class ProfileInformation
{
public string FirstName { get; set; }
}
并将其传递给视图:
return View(profileInformation);
在视图声明中,您将收到如下所示的ProfileInformation对象:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<AzureBright.Models.ProfileInformation>" %>
然后生成如下的编辑器字段:
<%= Html.EditorFor(profile => profile)%>
希望这是你想知道的