gpt4 book ai didi

asp.net-mvc-3 - 如何在 Razor 中创建 else if 语句?

转载 作者:行者123 更新时间:2023-12-03 11:48:21 26 4
gpt4 key购买 nike

我正在尝试在表格中显示一些行。根据用户组, View 应该显示不同的标记。管理员可以删除行,但版主只能将它们标记为可见或不可见。

如何在 Razor 中编写正确的 if else 语句?

页面显示正确,但页面标题是解析错误

这是我的代码:

@model MvcApplication3.Models.ViewModels.New.Question.MatrixRows

@{
bool visible = Model.Visible;
}

<tr>
<td>
@if(visible)
{
@Html.TextBoxFor(cn => Model.Row_Number, new { @class = "row required digits", size = 1 })
}
@if (!visible)
{
@Html.TextBoxFor(cn => Model.Row_Number, new { @class = "row required digits", size = 1, disabled = "disabled" })
}
</td>
<td>
@if(visible)
{
@Html.TextBoxFor(bs => Model.Row_Description, new { @class = "rowdesc", size = 45 })
}
@if (!visible)
{
@Html.TextBoxFor(bs => Model.Row_Description, new { @class = "rowdesc", size = 45, disabled = "disabled" })
}
</td>
<td>
@if (HttpContext.Current.User.IsInRole("Administrator"))
{
@Html.HiddenFor(x => x.Delete, new { @class = "mark-for-delete" })
@Html.LinkToRemoveNestedForm("Slet", "tr", "input.mark-for-delete")
}
@if (HttpContext.Current.User.IsInRole("Moderator"))
{
@Html.HiddenFor(x => x.Visible, new { @class = "mark-for-visible" })
@Html.LinkToDisableNestedForm("Deaktiver", "tr", "input.mark-for-visible")
}
@Html.HiddenFor(id => Model.Row_Id)
</td>
</tr>

最佳答案

标题有解析错误,因为您没有设置标题:

@{
ViewBag.Title = "Home Page";
}

现在对于 else 语句,不要使用回 @句法:
@if(visible) 
{
Html.TextBoxFor(bs => Model.Row_Description, new { @class = "rowdesc", size = 45 })
}
else
{
Html.TextBoxFor(bs => Model.Row_Description, new { @class = "rowdesc", size = 45, disabled = "disabled" })
}

您正在检查一个 bool 值,您只需要一个 else。也适用于 else if ,它的工作原理相同。

只需执行以下操作即可进一步简化您的代码:
@Html.TextBoxFor(bs => Model.Row_Description, new { @class = "rowdesc", size = 45, disabled = visible ? "" : "disabled" })

因为无论如何您都在显示相同的代码,只需根据值更改属性即可。对我来说,这变得更具可读性。

关于asp.net-mvc-3 - 如何在 Razor 中创建 else if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197680/

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