【发布时间】:2016-08-16 18:40:26
【问题描述】:
我有一个名为AppPrivilege 的模型对象,它包含一个名为PrivilegeName 的公共字符串属性。在控制器中,我生成了这些对象的集合,并将它们放在 ViewBag 中,如下所示(其他对象类型都是我的项目自定义的):
SQLRolerecord toCheckPrivs = new SQLRolerecord();
IEnumerable<AppPrivilege> privsOfUser = toCheckPrivs.getPrivsForRole(roleUser);
ViewBag.PrivilegeSet = privsOfUser;
return View();
现在在一个视图中,我如何检查是否存在具有我选择的PrivilegeName 的任何元素AppPrivilege,例如“读取”?这是我试图在视图中实现的结构:
@if (ViewBag.PrivilegeSet != null)
{
if(ViewBag.PrivilegeSet.Contains(/*search criteria for PrivilegeName*/))
{
//valid code here
}
}
我解决此要求的方法包括生成一个可能较大的所有PrivilegeName 值连接的字符串,并将其传递给 ViewBag,然后我可以在视图中进行字符串检查。但是,这似乎对性能不友好,所以我想以更合适的方式来做。
谢谢。
【问题讨论】:
标签: c# asp.net-mvc razor