У меня есть простой пользовательский контроль с включенным элементом управления ajax - CalendarExtender. Это код:Динамическое создание пользовательского элемента управления ajax не работает
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit"
TagPrefix="cc1"
%><br />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox2" runat="server" AutoPostBack="true"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" Format="yyyy-MM-dd"
TargetControlID="TextBox2">
</cc1:CalendarExtender><br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
На Page_Load событие для этого элемента управления У меня есть код - просто показать на дату этикетки из календаря:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = TextBox2.Text;
}
Во-первых, я пытаюсь динамически создавать этот элемент управления в Page_Load случае для моей сети форма:
protected void Page_Load(object sender, EventArgs e)
{
Controls_MySimpleControl datap = LoadControl("~/Controls/MySimpleControl.ascx") as
Controls_MySimpleControl;
Panel1.Controls.Add(datap);
}
Приведенный выше код не работает (пользовательский элемент управления был добавлен и работает страница, но выбрать дату в календаре не отображаются в этикетке). Но когда я выше кода места в событии Page_Init, все в порядке. Не могли бы вы объяснить, почему он работает в Page_Init и не работает в Page_Load. Может быть, я должен динамически создавать контроль по-разному?
У меня нет конкретного ответа на это, но я могу сказать, что мой последний набег на попытку динамического добавления элементов управления на страницу - это кошмар представлений. Я закончил тем, что все элементы управления «предварительно загружены» на странице, а viewstate и visibility переключены, а не динамически добавляются и удаляются. Требуется ли динамическая нагрузка? – jbehren