У меня есть простой пользовательский веб-элемент управления (код, который я нашел где-то в Интернете):
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
Inherits="ARP.DynamicsCRM2011.MagicWebForm.WebUserControl1" %>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged"
Text="Checkbox" />
<asp:Button ID="Button1" runat="server" Text="Button" Visible="False" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
protected void Page_Load(object sender, EventArgs e)
{
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Button1.Visible = CheckBox1.Checked;
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
}
Теперь я хочу добавить этот элемент управления на свою страницу (программно в событии OnLoadComplete):
<%@ Reference Control="~/WebUserControl1.ascx" %>
WebUserControl1 myControl = (WebUserControl1)Page.LoadControl("~/WebUserControl1.ascx");
myControl.ID = "myControl_" + some_name;
parentControl.Controls.Add(myControl);
Конечно, у меня есть SriptManager на странице, и мой элемент управления добавлен правильно.Я знаю, что программно добавленные элементы управления должны создаваться каждый раз при загрузке страницы.К сожалению, это вызывает создание нового элемента управления, поэтому проверка флажка не работает - после проверки снова запускается OnLoadComplete (страницы) и создается новый элемент управления.Если я опущу это, то ничего не отображается.Так что вопрос - как это сделать?