sharepoint中怎么控制具体的字段呢?
shareponit中 一个普通的列表 我想让匿名用户新建列表时 某些字段不显示 该怎么做?
我在新建页面中放了个webpart onlaod里面
SPList list = web.Lists["a"];
SPUser user = SPContext.Current.Web.CurrentUser;
SPField field1 = list.Fields["aa"];
if (user == null)//匿名
{
web.AllowUnsafeUpdates = true;
field1.ShowInNewForm = false;
field1.Update();
web.AllowUnsafeUpdates = false;
}
field1.Update();之后 用户直接就变成系统用户了 该怎么解决?
[解决办法]
修改Field的定义是需要权限的, 要想绕过权限控制, 如下写法:
- C# code
SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(siteId)) //这里必须重新取SPSite对象, 新取到的site对象, 是有full control权限的. { using (SPWeb web = site.OpenWeb(webUrl)) { //你的代码, } } });
[解决办法]
帮顶
[解决办法]
后台执行的代码都是由sharepoint的内部账户去执行的
你是说update()后,当前登陆用户是系统账户了,而不是匿名的了?