如何根据用户请求调用WebUserControls?

时间:2011-10-05 00:44:59

标签: c# asp.net

我正在构建一个网站,我需要根据用户请求调用WebUserControls(.ascx),我该如何实现?这甚至可能吗?

示例:

protected void userclick_click(object sender, EventArgs e)
{
    if(textbox1.Text == "2")
    {
        call WebUserControl1.ascx
    }
    else
    {
      /*do nothing*/
    }
}

我正在使用C#。

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以调用它并将其附加到PlaceHolder。请查看http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.placeholder.aspx以了解控件的详细信息。

让你在运行时用你喜欢的任何东西填充PlaceHolder。这样做的好处是它允许你在设计时将PlaceHolder放在你想要的任何地方而不只是将它添加到Page.Controls列表中。

protected void userclick_click(object sender, EventArgs e)
{
    if(textbox1.Text == "2")
    {
        WebUserControl1 uc = (WebUserControl1) Page.LoadControl("WebUserControl1.ascx"); 
        PlaceHolder1.Controls.Add(uc); 
    }
    else
    {
      /*do nothing*/
    }
}

答案 1 :(得分:0)

protected void userclick_click(object sender, EventArgs e)
{
    if(textbox1.Text == "2")
    {
        Control c1 = LoadControl("MyUserControl.ascx");
        //page or whatever control you want to add to
        Page.Controls.Add(c1);
    }
    else
    {
      /*do nothing*/
    }
}