具有Condition的列中的MVC 4 WebGrid复选框

时间:2014-07-10 18:18:57

标签: asp.net-mvc-4

我正在尝试向.Net MVC WebGrid添加一个新列,其中包含一个复选框,如果满足特定条件则该复选框,如果条件为false则不存在。

以下代码可以正确显示X或Y(占位符):

        grid.Column("ID", header: "", 
            style: "labelcolumn",
            format: (item) => item.ID != null ? "X" : "Y"),

我似乎无法正确使用语法来包含复选框而不是X.

        grid.Column("ID", header: "", 
            style: "labelcolumn",
            format: (item) => item.ID != null ? @<text><input class="check-box" id="cbSelectedBranch" name="cbSelectedBranch" type="checkbox" value="@item.ID" /></text> : "Y"),

在第二个片段中,&#34;(项目)&#34;变量导致此错误:

  

CS0136:名为&#39; item&#39;的局部变量不能在此范围内声明   因为它会给“项目”带来不同的含义,而这已经是   用于父母或当前的&#39;范围来表示别的东西

使用if null条件时添加@似乎会导致item抛出此错误。以下代码,没有条件,正常工作:

        grid.Column(header: "", 
            style: "labelcolumn",
            format: @<text><input class="check-box" id="cbSelectedBranch" name="cbSelectedBranch" type="checkbox" value="@item.ID" /></text>),

我知道如何使用条件和复选框输入来完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

尝试这样:

format: (item) => item.ID != null ? Html.Raw("<input class='check-box' id='cbSelectedBranch' name='cbSelectedBranch' type='checkbox' value='@item.ID' />") : "Y")