如何修改或编辑SharePoint的用户或用户组字段
在SharePoint中的每一个列表项都会有一个创建者字段,这个字段的字段类型是“用户或用户组”,我们如何对一个属于该类字段类型的字段进行编辑或设置呢?
先看一个截图:
在这个截图里面“项目负责人”和“项目参与者”都是属于“用户或用户组”的字段类型,OK,我们来开始获取其中一个字段的值:
namespace GetUserName
{
class Program
{
static void Main(string[] args)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite site = new SPSite("http://redvine:9000/");
SPWeb web = site.RootWeb;
SPList list = web.Lists["项目联系表"];
foreach (SPListItem item in list.Items)
{
SPFieldUserValueCollection users = (SPFieldUserValueCollection)(item["项目负责人"]);
foreach (SPFieldUserValue user in users)
{
Console.WriteLine(user.User.LoginName);
}
}
});
Console.ReadKey();
}
}
}
其实不难发现user.User的类型为SPUser,OK,只要能得到,那么我们就可以很方便的修改咯!{
class Program
{
static void Main(string[] args)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite site = new SPSite("http://redvine:9000/");
SPWeb web = site.RootWeb;
SPList list = web.Lists["项目联系表"];
foreach (SPListItem item in list.Items)
{
SPFieldUserValueCollection users = (SPFieldUserValueCollection)(item["项目负责人"]);
foreach (SPFieldUserValue user in users)
{
Console.WriteLine(user.User.LoginName);
}
}
});
Console.ReadKey();
}
}
}
有人会问,我们修改某个List item的创建者字段可以吗?答案当然是不可以的,因为创建者字段应该是属于只读的。