【问题标题】:Create Membership Profile MVC 3创建会员资料 MVC 3
【发布时间】:2012-03-08 01:52:53
【问题描述】:

我正在为我的 ASP.Net MVC 3 应用程序创建一个管理页面。我可以创建一个新用户,如下所示:

MembershipUser mu = Membership.CreateUser(user.UserName, user.Password);
Membership.UpdateUser(mu);

我可以像这样分配角色:

Roles.AddUserToRole(user.UserName, "Customer");

但是如何创建和附加新的个人资料?

ProfileManager 具有查找和删除配置文件的方法,但没有创建配置文件的方法。

如果重要的话,我已经添加了这样的自定义配置文件属性:

<properties>
  <add name="FirstName" />
  <add name="LastName" />
</properties>      

我假设在创建用户时不会自动创建配置文件,因为后续调用

ProfileInfoCollection profiles = 
    ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);

返回一个空集合,而Membership.GetAllUsers() 返回我刚刚创建的一个用户。

【问题讨论】:

    标签: asp.net-mvc-3 asp.net-membership asp.net-profiles


    【解决方案1】:

    我刚刚意识到我必须使用ProfileBase 来创建一个新的个人资料条目:

    ProfileBase pi = ProfileBase.Create(user.UserName);
    

    【讨论】:

      【解决方案2】:

      您可以使用 HttpContext.Profile 属性访问配置文件属性,该属性可通过 Controller 类获得:

      ViewBag.Name = HttpContext.Profile["Name"];
      

      当我们第一次访问配置文件数据时,ASP.NET 框架使用配置文件提供程序为用户加载配置文件属性,并在请求结束时通过提供程序写回任何修改。我们不必显式保存更改;它会自动发生。

      【讨论】:

        猜你喜欢
        • 2019-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多