У меня есть UpdatePanel на моей странице default.aspx, а UpdatePanel имеет заполнитель asp, также у меня есть элемент управления ascx, который является навигацией по сайту, и он создается динамически на основе данных в базе данных, каждый элемент навигации ImageButton, и каждый мой цикл в DataList имеет значение HiddenField URL для каждого соответствующего элемента управления ascx, например Value = "~ / controls / somecontrol.ascx"
Вот что я хочу / нужно сделать:
Мне нужно динамически создавать триггеры для моей UpdatePanel, которая находится в default.aspx в моем элементе управления навигацией ascx, поэтому я точно хочу, чтобы каждый элемент навигации, который является «ImageButton», был триггером для этой UpdatePanel, и когда Вы нажимаете на него, он ссылается на местозаполнитель в UpdatePanel и загружает элемент управления на основе пути NavigateUrl и выполняет placeholder.Controls.Add (mycontrol).
Страница Default.aspx:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="phMainHolder" runat="server"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
Управление ascx навигации:
<asp:DataList ID="dlnavigations" runat="server" RepeatDirection="Horizontal"
onitemcommand="dlnavigations_ItemCommand" OnItemDataBound="dlnavigations_ItemDataBound">
<ItemTemplate>
<asp:HiddenField ID="hfURL" Value='<%#Eval("strUrl")%>' runat="server" />
<asp:ImageButton ID="imgTab" Width="20" CommandArgument='<%#Eval("ID")%>'
ImageUrl='<%#Eval("strIcon")%>' runat="server" />
</ItemTemplate>
</asp:DataList>
protected void dlnavigations_ItemCommand(object source, DataListCommandEventArgs e)
{
HiddenField hfURL = (HiddenField)e.Item.FindControl("hfURL");
Control ctrl = LoadControl(hfURL.Value);
myplaceholderinUpdatePanel.Controls.Clear();
//here i need to reference my placeholder in UpdatePanel then
myplaceholderinUpdatePanel.Controls.Add(ctrl);
}
Я не очень уверен, если это действительно возможно сделать с UpdatePanel, пожалуйста, любую помощь, присвоенную, если я не могу сделать это с UpdatePanel, есть ли другой способ сделать эту же концепцию?
спасибо.