gpt4 book ai didi

c# - 基于用户角色批量禁用复选框 - MVC Razor

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:32 25 4
gpt4 key购买 nike

我在我的 MVC 应用程序中定义了用户角色。本质上,我想要的是:

if (User.IsInRole = ("staff"))
{
// disable all checkboxes
}

我知道我可以做这样的事情,但是页面上有大约 100 个复选框,重复所有添加了 disabled 属性的代码行似乎令人讨厌。有没有更好的办法?我也不反对使用一些 jQuery 来完成此任务:

if (User.IsInRole = ("staff"))
{
<tr>
<td>Centroid</td>
<td><input type="checkbox" name="Staff" checked disabled /></td>
<td>@Html.CheckBoxFor(m => m.NBTC_FA_Centroid, new {@disabled = "disabled")</td>
<td>@Html.CheckBoxFor(m => m.Contract_FA_Centroid, new {@disabled = "disabled")</td>
<td>@Html.CheckBoxFor(m => m.Coord_FA_Centroid, new {@disabled = "disabled")</td>
<td>@Html.CheckBoxFor(m => m.NGO_FA_Centroid, new {@disabled = "disabled")</td>
<td>@Html.CheckBoxFor(m => m.Public_FA_Centroid, new {@disabled = "disabled")</td>
</tr>
}
else
{
<tr>
<td>Centroid</td>
<td><input type="checkbox" name="Staff" checked disabled /></td>
<td>@Html.CheckBoxFor(m => m.NBTC_FA_Centroid)</td>
<td>@Html.CheckBoxFor(m => m.Contract_FA_Centroid)</td>
<td>@Html.CheckBoxFor(m => m.Coord_FA_Centroid)</td>
<td>@Html.CheckBoxFor(m => m.NGO_FA_Centroid)</td>
<td>@Html.CheckBoxFor(m => m.Public_FA_Centroid)</td>
</tr>
}

最佳答案

您可以检查您的模型并将 object 设置为 disabled 作为 html helper 的属性。

object attributes = null;

if (User.IsInRole = ("staff"))
{
attributes = new { disabled = "disabled" };
}

然后像这样将它用于你的助手

 @Html.CheckBoxFor(model => model.Status, attributes)

当角色是 stuff 时它将禁用复选框,否则它将保持启用状态。

关于c# - 基于用户角色批量禁用复选框 - MVC Razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52609510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com