用属性扩展umbraco成员
问题描述:
我正在umbraco上开发网站,并且需要存储有关成员(cmsMember)的其他信息.我怎样才能做到这一点?有没有一种方法可以扩展umbraco成员而无需更改成员资格提供程序?
I am developing web site on umbraco and need to store additional information about member(cmsMember). How can I do that? Is there a way to extend umbraco member without changing membership provider?
我想做类似的事情
var datatype = new DataTypeDefinition("varchar");
var type = new PropertyType(datatype);
var property = new Property(type);
property.Value = myAdditionalInfo;
member.Properties.Add(property);
memberService.Save(member, false);
上方的代码现在会引发异常,且 Value不能为空
消息.
Code above right now throws exception with Value cannot be null
message.
答
可以(并且应该)在后台中为成员类型添加属性:
Adding properties to a Member type can (and should) be done in the backoffice:
然后设置/保存值应该是这样的(使用MemberService),尽管我不确定是否是当前的:-s:
And then setting/saving the values should be something like this (using MemberService), though I'm not exactly sure if it's current :-s :
// Get the member
var member = Member.GetCurrentMember();
// Check if there is a current member
if (member != null)
{
// Update member properties
member.getProperty("myPropertyAlias").Value = myAdditionalInfo;
// Save the updated member
member.Save();
}