我尝试像这样在侧面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:无法将类型“字符串”转换为“布尔”


我检查<%#:Item.HasSal%>的值,发现它等于TrueFalse

为什么我总是出现此错误?



根据使用Eval的答案,而不是利用strongly type控件的ListView值,我遇到了新的异常:

c# - 绑定(bind) ListView 时无法将类型“字符串”转换为“ bool ”-LMLPHP

最佳答案

尝试使用此代码

<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 %> />

10-08 01:23