2011-10-05 54 views
2

我正在建立一個網站,我需要根據用戶請求調用WebUserControls(.ascx),我該如何實現?這甚至有可能嗎?如何根據用戶請求調用WebUserControls?

例子:

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

我使用C#這一點。

預先感謝您。

+0

你是什麼意思? ASCX不是一項功能。 – SLaks

+0

我知道,我只是想舉個例子。我想調用名爲TotalSale.ascx的WebUserControl,例如,如果id等於2。 – jorame

回答

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*/ 
    } 
} 
+0

感謝您的幫助 – jorame

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*/ 
    } 
} 
+0

感謝您的幫助 – jorame

+0

儘管您不接受它,但這是PlaceHolder的唯一目的。我真的建議你將它用於隨機控制。 – Kirk

相關問題