我最近做了一件非常类似的事情,假设你的Member类看起来像下面这样(或者至少做同样的事情)。
public class MemberProfile : ProfileBase
{
#region Firstname
private const string FIRSTNAME = "_firstname";
[SettingsAllowAnonymous(false)]
public string FirstName
{
get
{
return GetCustomProperty(FIRSTNAME);
}
set
{
SetCustomProperty(FIRSTNAME, value);
}
}
#endregion
#region Get and Set base properties
private string GetCustomProperty(string propertyName)
{
var retVal = "";
var prop = base.GetPropertyValue(propertyName);
if (prop != null)
{
retVal = prop.ToString();
}
return retVal;
}
private void SetCustomProperty(string propertyName, object value)
{
var prop = base[propertyName];
if (prop != null)
{
base.SetPropertyValue(propertyName, value);
}
}
#endregion
}
然后使用以下方法应允许您检索的成员,更新属性,并将其保存:
var existingMember = MemberProfile.Create(username) as MemberProfile;
existingMember.FirstName = firstName;
existingMember.Save();
混乱的一点是,在Create()方法实际上返回的现有用户,他们只是叫它创建出于某种原因...
只是一个快速的评论,所以你不是重新发明轮子,CMSImport可以从Excel导入成员,免费版可以导入多达500免费为您:http:// soetemansoftware .nl/cmsimport /功能 – jakobandersen
谢谢@miracledev但我有超过500名会员,而且我的公司不会为一次关闭操作付费。无论如何,我已经建立了所有的API我只是无法更新配置文件,如果有意义 – nickornotto
你可以发布你已经有的代码吗? –