我正在尝试向.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>),
我知道如何使用条件和复选框输入来完成这项工作吗?
答案 0 :(得分:1)
尝试这样:
format: (item) => item.ID != null ? Html.Raw("<input class='check-box' id='cbSelectedBranch' name='cbSelectedBranch' type='checkbox' value='@item.ID' />") : "Y")