我尝试在ListView
侧绑定Checkbox Checked属性,如下所示:
<asp:CheckBox ID="chk_holi_sal" runat="server" Class="chk_holi_sal" Checked="<%#:Item.HasSal%>" />
public bool HasSal
{
get { return SALARY_CALC == 1; }
}
但是我得到以下编译器错误:
编译器错误消息:CS0030:无法将类型'string'转换为'bool'
我检查<%#:Item.HasSal%>
的值并发现它相等True
或False
为什么我一直都会收到此错误?
根据使用Eval
而不是利用strongly type
控件的ListView
值的答案,我遇到了新的例外:
答案 0 :(得分:2)
尝试使用此代码
<asp:CheckBox ID="chk_holi_sal" runat="server" Checked="<%# Convert.ToBoolean(Eval("Item.HasSal")) %>" />
或使用三元运算符
<asp:CheckBox ID="chk_holi_sal" runat="server" Checked=
<%# Convert.ToBoolean(Eval("Item.HasSal")) ? true : false %> />
答案 1 :(得分:1)
以下一行与我合作:
<input id="chk_holi_sal" class="chk_holi_sal" type="checkbox" checked=' <%# Eval("HasSal") %>' disabled="disabled" runat="server" value="<%#:Item.HasSal%>" />
我尝试使用strongly-Typed
功能,但失败了,我必须使用Eval
。