我已经为列表创建了 2 个视图现在我想在不同的登录上将不同的视图设置为默认值。我想使用 c# 代码来做到这一点
例如:
意见如下:
- 所有项目
- 用户视图
然后
如果管理员登录,则列表的默认视图是 AllItems
如果用户登录然后列表的默认视图是用户视图
如何使用 C# 代码执行此操作?
代码片段:
SPUser LoggedInUser = web.CurrentUser;
SPList CurrentList = web.Lists[ListName];
if (LoggedInUser.LoginName == LoginUser)
{
web.AllowUnsafeUpdates = true;
CurrentList.Views[AllItems].DefaultView = false;
CurrentList.Views[UserView].DefaultView = true;
CurrentList.Update(); // Error here
web.AllowUnsafeUpdates = false;
}
else if (LoggedInUser.LoginName == LoginAdmin)
{
web.AllowUnsafeUpdates = true;
CurrentList.Views[AllItems].DefaultView = true;
CurrentList.Views[UserView].DefaultView = false;
CurrentList.Update(); // Error here
web.AllowUnsafeUpdates = false;
}
上面的代码给出错误:“无法评估表达式,因为代码已优化或本机框架位于调用堆栈的顶部。”