asp.net-mvc - Jquery 编写 if 条件的更好方法

标签 asp.net-mvc if-statement razor

我正在使用 jquery 编写 ASP.NET MVC 代码,其中我必须处理 if 语句。我很困惑我写的方式是否正确。关于重构以下代码有什么建议吗?

@if (Model.HasRecords)
{
    <script>
        $(function () {
            $("#cancel").hide();
        });
    </script>
}
else
{
    <script>
        $(function () {
            $("#cancel").show();
        });
    </script>
}

最佳答案

您可以使用 Razor 三元来优化它。

<script>
    $(function () {
        $("#cancel").@Html.Raw(Model.HasRecords ? "hide();" : "show();")
    });
</script>

比在 JavaScript 中为此烦恼更好的是,您可以将 #cancel 元素包装在一个语句中,该语句仅在模型有任何记录时才将其写入输出。所以在你的 HTML 中,你可以有这样的东西(假设它是一个输入,但它可以是任何其他类型的 HTML 元素):

@if (Model.HasRecords) {
    <input type="button" id="cancel">Cancel</input>
}

这会更有意义。

关于asp.net-mvc - Jquery 编写 if 条件的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941581/

相关文章:

mysql - ASP.NET MVC Razor,使用 url/profile/{username} 生成配置文件

asp.net-mvc - WebGrid 中的下拉列表 - MVC4

c# - 更改 Kendo UI 上传小部件的文本

java - 为什么我不能用条件运算符替换 if 语句 (? :)?

java - 访问不同情况下的返回值

.net - 带有 .NET Core 的 Angular 2

c# - ValidationMessageFor 的使用

MySQL - IF 查询 STR_TO_DATE

c# - 填写所有要求字段后使用 Bootstrap Modal

asp.net-mvc - Kendo UI 饼图工具提示可以包含系列类别名称吗?