回发后不显示用户控件

soc*_*ial 1 c# asp.net user-controls

我有一个home.aspx页面,我有两个面板.在第一个面板中,我动态绑定了一个用户控件(用于在左侧显示meiny),在第二个面板中我显示了页面.我在页面加载时动态绑定用户控件.

if (!IsPostBack)
    {
        UserControl uc = (UserControl)Page.LoadControl("~/settings/Links/Navigation.ascx");
        Accordion1.Controls.Add(uc);          

    }
Run Code Online (Sandbox Code Playgroud)

当第一次加载页面时我的usercontrol是绑定并显示我的菜单,但是当我点击它隐藏的任何菜单项时(用户控件),

请帮帮我,提前谢谢!

Nir*_*ngh 5

将此行代码放在Page生命周期的Page_Init事件中.

UserControl uc = (UserControl)Page.LoadControl("~/settings/Links/Navigation.ascx");
Accordion1.Controls.Add(uc);    
Run Code Online (Sandbox Code Playgroud)

合适的方式:

protected void Page_Init(object sender, EventArgs e)
{

      //MyControl is the Custom User Control with a code behind file
      MyControl myControl = (MyControl)Page.LoadControl("~/MyControl.ascx");

      //UserControlHolder is a place holder on the aspx page where I want to load the
      //user control to.
      UserControlHolder.Controls.Add(myControl);

}
Run Code Online (Sandbox Code Playgroud)

如果你if (!IsPostBack)在回发后使用它,它将不会被添加到页面.第一次,您将能够在页面上看到控件.

参考:
ASP.NET动态添加的自定义用户控件
如何:以编程方式创建ASP.NET用户控件的实例