I was wondering if it's possible to set the checked propery of a checkbox, using a bool variable form the repeater's datasource?
I've tried several ways but without any success...:
<asp:Repeater ID="rpt" runat="server">
<itemTemplate>
<asp:CheckBox runat="server" CssClass="checkbox"
Checked="<%#Eval("IsDefault").ToString().ToLower()%>"
ID="isDefaultCheckBox"/>
</itemTemplate>
</asp:Repeater>
<asp:Repeater ID="rpt" runat="server">
<itemTemplate>
<asp:CheckBox runat="server" CssClass="checkbox"
Checked="<%# DataBinder.Eval(Container.DataItem, "IsDefault")%>"
ID="isDefaultCheckBox"/>
</itemTemplate>
</asp:Repeater>
IsDefault is a field in a class View:
public bool IsDefault
The repeater's DataSource is List.
Another solution is handling ItemDataBound event:
<asp:Repeater ID="rpt" runat="server" OnItemDataBound="rpt_ItemDataBound">
<itemTemplate>
<asp:CheckBox runat="server" CssClass="checkbox" ID="isDefaultCheckBox"/>
</itemTemplate>
</asp:Repeater>
...
protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem ri = e.Item;
var dataItem = ri.DataItem as YourClassOrInterface;
var isDefaultCheckBox = ri.FindControl("isDefaultCheckBox") as CheckBox;
isDefaultCheckBox.Checked = dataItem.IsDefault;
}