Viewstate Issue with Dynamically Loaded Control
I am having issues with my dynamically loaded control's events.
Here is how I am loading the control:
protected void Page_Load(object sender, EventArgs e)
{
LoadSubPageEditTemplate();
}
protected void LoadSubPageEditTemplate()
{
pnlPageTemplate.Controls.Clear();
BaseOfferAdmin adminControl = (BaseOfferAdmin)this.LoadControl("~/Controls/SingleOfferAdmin.ascx");
开发者_运维百科 if (adminControl != null)
{
adminControl.ID = "Control_ID"
pnlPageTemplate.Controls.Add(adminControl);
}
}
}
The LoadSubPageEditTemplate() is also fired from a button event on the page, since I have to update it after the button event has executed.
The control loads perfectly, I have tested it with a basic button and the postback fires as expected. However, I am getting weird results with CheckBoxes.
<asp:CheckBox runat="server" ID="cbOptionalAction" Text="CheckBox" AutoPostBack="true" OnCheckedChanged="cbOptionalAction_CheckChanged" />
The CheckedChanged event only fires when the Checkbox is checked, which I guess means there is some issue with my control viewstate. If I have multiple checkboxes on the page, and one creates a postback, the checkchanged event is fired for each checkbox that is checked.
Thanks for anyone taking some time out to help me out!
Ignus
Please load control only when page is not postback.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadSubPageEditTemplate();
}
}
精彩评论