我有一个简单的转发器,我想要显示已选中/未选中的复选框:
<asp:Repeater ID="myRepeater" runat="server">
<ItemTemplate>
<td>
<asp:CheckBox runat="server" ID="cb" Checked='<%# Eval("value") %>' />
</td>
</ItemTemplate>
</asp:Repeater>
var list = new List<bool>();
list.Add(true);
list.Add(false);
myRepeater.DataSource = list;
myRepeater.DataBind();
但是我收到了错误:
DataBinding:&#39; System.Boolean&#39;不包含属性 姓名&#39;值&#39;。
如何解决?
答案 0 :(得分:3)
试试这个:
<asp:Repeater ID="myRepeater" runat="server">
<ItemTemplate>
<td>
<asp:CheckBox runat="server" ID="cb" Checked='<%# Container.DataItem %>' />
</td>
</ItemTemplate>
</asp:Repeater>
Eval(x)是Databinder.Eval(Container.DataItem,x)的快捷方式。其中对转发器中的行项的属性/ etc x进行了评估。但是你不需要评估任何东西,只需要原始的DataItem。