2

これは私のユーザーコントロールです:

AutomezziEAttrezzature.ascx

asp:DropDownListこれはatOnSelectedIndexChangedステージによって呼び出される関数です。

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 に答える