绑定列表视图时无法将类型 'string' 转换为 'bool'
Cannot convert type 'string' to 'bool' while binding List view
我尝试像这样在 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; }
}
但是我得到以下编译器错误:
Compiler Error Message: CS0030: Cannot convert type 'string' to 'bool'
我检查了 <%#:Item.HasSal%>
的值,发现它等于 True
或 False
为什么我总是收到这个错误?
根据使用 Eval
而不是利用 ListView
控件的 strongly type
值的答案,我面临新的异常:
尝试使用此代码
<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 %> />
以下行对我有用:
<input id="chk_holi_sal" class="chk_holi_sal" type="checkbox" checked=' <%# Eval("HasSal") %>' disabled="disabled" runat="server" value="<%#:Item.HasSal%>" />
我尝试使用 strongly-Typed
功能但失败了,我必须使用 Eval
。
我尝试像这样在 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; }
}
但是我得到以下编译器错误:
Compiler Error Message: CS0030: Cannot convert type 'string' to 'bool'
我检查了 <%#:Item.HasSal%>
的值,发现它等于 True
或 False
为什么我总是收到这个错误?
根据使用 Eval
而不是利用 ListView
控件的 strongly type
值的答案,我面临新的异常:
尝试使用此代码
<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 %> />
以下行对我有用:
<input id="chk_holi_sal" class="chk_holi_sal" type="checkbox" checked=' <%# Eval("HasSal") %>' disabled="disabled" runat="server" value="<%#:Item.HasSal%>" />
我尝试使用 strongly-Typed
功能但失败了,我必须使用 Eval
。