2013-09-30 5 views
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); 
} 

ответ

0

Видимо вам нужно использовать LoadControl, если вы имеете дело с истинным контролем пользователя. Изменен мой код ..

admin_InputControl control = (admin_InputControl)LoadControl("../controls/InputControl.ascx"); 
    control.InitializeInputControl(ShippingDetailInputControls, new DataModels.EDIOrderShipmentInfo(), 1, "Shipment Details"); 
    Panel1.Controls.Add(control); 
Смежные вопросы