Добавление пользовательского контроля на страницу динамически
У меня есть панель, к которой я пытаюсь добавить пользовательский элемент управления из кода. Проблема в том, что загруженный элемент управления не отображается на панели после запуска кода. Я что-то пропустил?
<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);
}
1 ответ
Очевидно, вам нужно использовать LoadControl, если вы имеете дело с настоящим пользовательским элементом управления. Изменил мой код на..
admin_InputControl control = (admin_InputControl)LoadControl("../controls/InputControl.ascx");
control.InitializeInputControl(ShippingDetailInputControls, new DataModels.EDIOrderShipmentInfo(), 1, "Shipment Details");
Panel1.Controls.Add(control);