【问题标题】:ASP.NET MVC 4 Conditional Attributes and HTML HelpersASP.NET MVC 4 条件属性和 HTML 帮助器
【发布时间】:2012-09-03 23:05:16
【问题描述】:

您能否像使用原始 html 元素一样在 html 助手中执行条件属性?

@Html.CheckBox("", new { @checked = (Model ? "checked" : null));

对我不起作用,仍然呈现空白的“已检查”属性。希望它像下面的代码一样工作。

<div class="@myClass">Content</div>

渲染

<div>Content</div>

如果@myClass 为空

【问题讨论】:

    标签: checkbox asp.net-mvc-4 html-helper


    【解决方案1】:

    我想你可以用一个简单的@helper 方法解决这个问题;类似:

    @helper AwesomeCheckBox() {
      if (Model == null) {
        @Html.CheckBox("", new { @checked = null);
      } else {
        @Html.CheckBox("", new { @checked = "checked");
      }
    }
    

    【讨论】:

    • 如果我有大量的 html 属性,我不想复制所有这些属性。
    • 嗯,您可以使用散列或其他键/值对(作为参数)来处理它。除此之外,我不知道。
    【解决方案2】:

    你需要给复选框一个名字,否则它会抛出一个错误,然后行中的下一个属性是 isChecked 属性,所以你只需要简单地检查模型是否为空。

    @Html.CheckBox( "checkbox", Model == null )
    

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2016-07-15
      • 1970-01-01
      相关资源
      最近更新 更多