2

这是我的用户控制:

AutomezziEAttrezzature.ascx

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

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

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

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

4

2 回答 2

0

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

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

然后使用它

<uc1:Automezzi ID="ctlAutomezzi" runat="server" />    
于 2013-08-02T09:58:31.253 回答
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)

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

于 2013-08-02T10:11:01.677 回答