在c#中以admin身份更新成员的自定义属性

时间:2013-04-06 19:25:46

标签: ektron

我为成员添加了一个自定义属性,并希望创建一个遍历所有成员并初始化自定义属性的例程。

我正在使用Ektron版本8.5 sp1

以下是我尝试过的两种方法: 方法1 - 此方法不返回userData对象

var userManager = new Ektron.Cms.Framework.User.UserManager(Ektron.Cms.Framework.ApiAccessMode.Admin);
var userData = userManager.GetItem(userManager.UserId, true);
userData.CustomProperties["Year 7 Year"].Value = newYear7Year;
userManager.Update(userData);

方法2 - 我担心这不起作用,因为我没有指定ApiAccessMode为Admin

var commonApi = new Ektron.Cms.CommonApi();
var userApi = new Ektron.Cms.API.User.User();
var userData = userApi.GetUser(commonApi.UserId, false, false);
userData.CustomProperties["Year 7 Year"].Value = newYear7Year;
userApi.UpdateUser(userData);

我应该如何更新会员?

1 个答案:

答案 0 :(得分:0)

我有我更新的自定义属性。我在用户创建帐户时更新它们但我不认为这有任何不同。 我不使用CommonApi。 以下是我所做的基本知识:

Ektron.Cms.API.User.User userApi = new Ektron.Cms.API.User.User();
Ektron.Cms.UserData userData = userApi.GetUser(PUT_USER_ID_HERE);
userData.CustomProperties[keyName].Value = value;
userApi.UpdateUser(userData); 

PUT_USER_ID_HERE的值决定了哪个用户将被更新 我不需要与管理员用户或类似的东西做任何特别的事情,所以希望这对你来说也不会有问题。