リスト用に2つのビューを作成しました。別のログインで、別のビューをデフォルトとして設定したいと思います。C#コードを使用してこれを実行したい
例えば:
ビューは次のとおりです。
- 全てのアイテム
- UserView
それで
管理者がログインした場合、リストのデフォルトビューはAllItemsです
ユーザーがログインした場合、リストのデフォルトビューはUserViewです
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;
}
上記のコードはエラーになります:「コードが最適化されているか、ネイティブフレームが呼び出しスタックの最上位にあるため、式を評価できません。」