0
我创建了一个类来处理自定义字段的会员用户创建。umbraco会员createuser&选择个人资料数据
我已经做到了在此基础上的解决方案:
- How to assign Profile values?
-
namespace CCL { public static MemberProfile CurrentUser { get { if (Membership.GetUser() != null) return ProfileBase.Create(Membership.GetUser().UserName) as MemberProfile; else return null; } } }
现在我尝试使用创建用户并获取配置文件数据:
if (Membership.GetUserNameByEmail(email) == null)
{
MembershipUser member = Membership.CreateUser(username, password, email);
Roles.AddUserToRole(username, "WebsiteUsers");
CCL.MemberProfile currentProfile = CCL.MemberProfile.CurrentUser;
bool exists = currentProfile != null;
Response.Write(exists.ToString());
}
但当前配置文件正在返回null。
所以我无法从表单值分配给它们通过在类中设置的属性来处理我的会员自定义属性:(
我不明白我怎么可以让它的工作:(
没有人有一些想法感谢
谢谢@ g7876413,我验证了用户,所以它正确返回currentProfile。但是,当我尝试分配我的自定义值:'currentProfile.FullName =“Lucy”; currentProfile.Save();'它不起作用:(任何建议? – nickornotto 2013-03-26 14:24:25
对不起@ user1611620,我可以建议的唯一的其他事情是检查您的“MemberProfile”类的实现,在示例中引用set方法on “Fullname”属性似乎在调用Save()以及设置值,所以你不需要在自己设置值之后调用它。 同时检查你没有重新实现Save()并且做了它任何与base.Save不同的东西 – g7876413 2013-03-26 15:58:55
1.我在我的web.config中定义了自定义属性,但它们导致错误'属性已经定义',所以我删除了部分 - 在我将它放回去之后开始工作。更改了属性的名称(在umbraco&web.config中的成员类型中),因为我的类中给出的同一名称导致了上述错误。2.我更改了脚本以更新成员配置文件AFTER身份验证 - 这需要重新加载页面。添加元素在用户进行身份验证/重新加载页面之前,角色不能正常工作。总结:谢谢@ g7876413的建议,因为它使我朝着正确的方向 – nickornotto 2013-03-27 16:57:55