我尝试在 ListView
中绑定(bind) 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; }
}
但我得到以下编译器错误:
Compiler Error Message: CS0030: Cannot convert type 'string' to 'bool'
我检查 <%#:Item.HasSal%>
的值并发现它等于True
或者 False
为什么我总是收到这个错误?
根据答案使用Eval
而不是利用 strongly type
ListView
的值控制,我面临新的异常:
最佳答案
试试这个代码
<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 %> />
关于c# - 绑定(bind) ListView 时无法将类型 'string' 转换为 'bool',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945156/