0

コード ビハインドからユーザー コントロールを追加しようとしているパネルがあります。問題は、コードが実行されると、読み込まれたコントロールがパネルに表示されないことです。何か不足していますか?

    <div id="ShippingDetails" runat="server" visible="true">
        <asp:Panel ID="Panel1" runat="server"></asp:Panel>
    </div>
</form>
</asp:Content>

コードビハインド:

protected void Page_PreRender(object sender, EventArgs e)
{
    if (OrderSearch1.SelectedValues != null)
    {
        InitializeShippingDetailControls();
    }
}

public void InitializeShippingDetailControls()
{
     admin_InputControl control = new admin_InputControl();
     control.InitializeInputControl(ShippingDetailInputControls, new DataModels.EDIOrderShipmentInfo(), 1, "Shipment Details");
     Panel1.Controls.Add(control);
}
4

1 に答える 1

0

真のユーザー コントロールを扱っている場合は、明らかに LoadControl を使用する必要があります。私のコードを..に変更しました

    admin_InputControl control = (admin_InputControl)LoadControl("../controls/InputControl.ascx");
    control.InitializeInputControl(ShippingDetailInputControls, new DataModels.EDIOrderShipmentInfo(), 1, "Shipment Details");
    Panel1.Controls.Add(control);
于 2013-09-30T20:13:11.750 に答える