<paul.hester@gmail.com> wrote in message
news:1157145498.028319.319360@h48g2000cwc.googlegroups.com...
> Hi Teemu,
>
> Thanks for getting back to me. That doesn't work, unfortunately. I can
> take all of the code out of the user control and put it in my page and
> the checkboxes maintain their values perfectly on postback, but
> something about having it in a UserControl stops this from working.
>
> Any help would be appreciated.
>
> Thanks,
>
> Paul
>
> Teemu Keiski wrote:
>> Hi,
>>
>> you must not run DataBind on every postback in the control since it
>> clears
>> the selections. And second, you need to do binding in Page_Load inside
>> if(!IsPostBack check), essentially:
>>
>> protected void Page_Load(object sender, EventArgs e)
>> {
>> if(!Page.IsPostBack)
>> {
>> // get countries
>> countryList.DataSource = Country.GetCountries();
>> countryList.DataBind();
>> }
>> }
>>
>> If you need to reload the data, then do DataBind as needed but not on
>> every
>> request.
>> --
>> Teemu Keiski
>> ASP.NET MVP, AspInsider
>> Finland, EU
>>
http://blogs.aspadvice.com/joteke >>
>> <paul.hester@gmail.com> wrote in message
>> news:1157085701.475148.52270@e3g2000cwe.googlegroups.com...
>> > Hi all,
>> >
>> > I have a user control that contains a repeater that generates a list of
>> > check boxes. The checkboxes render fine, but they don't maintain their
>> > checked state on postback.
>> >
>> > I've tried using Page_Load, Page_Init, OnInit, enabling and disabling
>> > viewstate without success. Any help would be appreciated.
>> >
>> > Thanks,
>> >
>> > Paul
>> >
>> > ASCX:
>> >
>> > <asp:Repeater ID="countryList" runat="server">
>> > <HeaderTemplate>
>> > <table cellpadding="2" cellspacing="0">
>> > </HeaderTemplate>
>> > <ItemTemplate>
>> > <tr>
>> > <td><asp:CheckBox ID="countryID" Value='<%# Eval("CountryID") %>'
>> > runat="server" /></td>
>> > <td><asp:Label AssociatedControlID="countryID" runat="server"><%#
>> > Eval("Name") %></asp:Label></td>
>> > <td><img src="<%# string.Format("/images/flags/{0}.gif",
>> > Eval("CountryID")) %>" height="13" width="24" /></td>
>> > </tr>
>> > </ItemTemplate>
>> > <FooterTemplate>
>> > </table>
>> > </FooterTemplate>
>> > </asp:Repeater>
>> >
>> > ASCX.CS:
>> >
>> > protected void Page_Init(object sender, EventArgs e)
>> > {
>> > // get countries
>> > countryList.DataSource = Country.GetCountries();
>> > DataBind();
>> > }
>> >
>