Asp.NET dropdownlist autopostback

asp.netautopostback

I have a dropdownlist with autopostback enabled. and have a repeater where i populate checkboxes from database.

If i set the autopostback to true then when selecting a value checkboxes lose its value…

Any workarounds on this?

Here is the code :

<asp:DropDownList ID="dropdown" runat="server"  class="pop" AutoPostBack="true" >
</asp:DropDownList>

<asp:Repeater ID="rptD" runat="server" >
        <ItemTemplate>
        <td valign="top" >
        <input type="checkbox" class="al" />
        </ItemTemplate>
        </asp:Repeater>

Best Answer

I assume this is because you are DataBinding the Repeater not only if(!IsPostBack) but also on postbacks. Therefore the checked state will be overriden.

So do this in Page_Load(assuming C#):

if(!IsPostBack){
   DataBindRepeater();
}

Whereas DataBindRepeater is a method that sets the DataSource property and DataBind the Repeater.

You might also want to use an ASP.NET Checkbox control instead of the html input type="checkbox". The checked state is reloaded only if it's a server WebControl that implements IPostBackDataHandler.