如何在UpdatePanel中添加我自己的自定义用户控件?

时间:2013-06-18 10:11:19

标签: c# .net user-controls webforms updatepanel

这是我的用户控制:

AutomezziEAttrezzature.ascx

这是asp:DropDownListOnSelectedIndexChanged阶段调用的函数:

protected void ddCategoriaHasChanged(object sender, EventArgs e)
{
    // my asp:Panel
    categoriaCaricata.Controls.Clear();
}

我想在categoriaCaricata面板中添加此控件。我该怎么做?有人警告我使用DynamicControlsPlaceHolder,但目前尚不清楚它是如何工作的以及原因。

你能给我一个明智的例子吗?

2 个答案:

答案 0 :(得分:0)

您可以在页面中注册控件:

<%@ Register Src="~/Controls/AutomezziEAttrezzature.ascx" TagName="Automezzi" TagPrefix="uc1" %>

然后使用它

<uc1:Automezzi ID="ctlAutomezzi" runat="server" />    

答案 1 :(得分:0)

如果你需要为你的UC分配属性,并动态加载它,你应该做这样的事情“

这是VB.net代码(仅作为示例),但应该帮助您将其作为其非常基本的UC内容

Dim myDatesControl As New UserControl
myDatesControl = Page.LoadControl("~/bookingControls/ucDates.ascx")

        With CType(myDatesControl, controls_ucDates)
            .checkInDate = Session("nowcheckin")
            .checkOutDate = Session("nowcheckout")
            .Nights = "xxx"
            .guid = currentBookingFilter.guid
            .ExtraInfo = currentBookingFilter
        End With

mypanel.controls.add(myDatesControl)

如果您不需要分配动态属性,只需手动将控件添加到面板/页面,设计时间并隐藏它。您可以在需要时显示它。