0
我有一個名爲AppPrivilege
的模型對象,它包含一個名爲PrivilegeName
的公共字符串屬性。在控制器,我產生這些對象的集合,並把他們在ViewBag,如下(其他對象類型都定製到我的項目):在Razor中,如何根據元素的屬性檢查ViewBag IEnumerable對象中對象的存在性?
SQLRolerecord toCheckPrivs = new SQLRolerecord();
IEnumerable<AppPrivilege> privsOfUser = toCheckPrivs.getPrivsForRole(roleUser);
ViewBag.PrivilegeSet = privsOfUser;
return View();
在視圖
現在,我怎麼能檢查是否存在具有我選擇的PrivilegeName
的任何元素AppPrivilege
,例如「Read」?這是我想在視圖中實現結構:
@if (ViewBag.PrivilegeSet != null)
{
if(ViewBag.PrivilegeSet.Contains(/*search criteria for PrivilegeName*/))
{
//valid code here
}
}
我來滿足這種需求的方法包括產生一個潛在的大字符串連接在一起的所有PrivilegeName
值,並通過穿過ViewBag中,在我可以在視圖中進行字符串檢查。但是,這似乎不是表現友好的,所以我想以更合適的方式來做。
謝謝。
謝謝!有效。使用'=='而不是字符串方法有什麼缺點? – ITWorker
在這個字符串到字符串的比較中,我更喜歡'='來提高可讀性。這裏有一篇關於它的好文章https://blogs.msdn.microsoft.com/csharpfaq/2004/03/29/when-should-i-use-and-when-should-i-use-equals/ – Shyju