c# - foreach(项目中的变量)和排除
问题描述
小问题,
我的 c# mvc 项目代码中有以下内容:
div class="card-body">
@if (User.IsInRole("Secretaris"))
{
<table class="table">
<tr>
<th>@Html.DisplayNameFor(model => model.FirstName)</th>
</tr>
@foreach (var item in Model)
{
if (User.IsInRole("Secretaris"))
{
<tr>
<td>@Html.DisplayFor(modelitem => item.FirstName)</td>
</tr>
}
}
</table>
}
</div>
当我运行代码时,一切正常,但是当我进入 foreach 时,它仍然给出所有名称,而不仅仅是具有“Secretaris”角色的名称。希望有人可以帮助我解决我做错的事情。
提前致谢。
罗尔·克尼彭
解决方案
由于您Model
有一个.Firstname
属性,我假设您的模型代表一个人,可能是一个用户。
@User
代表当前登录的用户 - 不是您模型中的用户。如果您想在模型中使用用户/权限,则需要在模型中包含角色信息。就像是
if (modelItem.Roles.Contains("Sec...")) { }
推荐阅读
- sqlite - sqlite julianday 添加秒数的结果不正确
- javascript - 如何设置特定滑块的状态?
- c# - uwp - '应用程序调用了一个为不同线程编组的接口
- javascript - 按下时面板中可折叠下拉列表中的选项未隐藏?
- office365 - 为什么在查询用于消息跟踪的报告 Web 服务 O365 API 时出现“找不到资源”?
- vue.js - 在 VueJs 的对象中添加新属性时如何触发更改?
- c# - 如何从 WSDL 创建示例 XML 文件
- php - VESTA、API、PHP。未添加用户
- zsh - 为什么要使用 zsh 数组参数?
- rest - 如何使用共享点设计器从 webrequest 中获取字典值