[英]Issues with Dynamically Loading a User Control
我正在頁面上動態加載用戶控件,效果很好。 但是我面臨一個問題:
如果我在設計時具有用戶控制權,則相同的代碼可以完美地工作。
代碼是這樣的:
頁:
MyUserControl cntrl = Page.LoadControl("~/MyUserControl.ascx")
btn_click(){
{
cntrl.TestFunction();
}
用戶控制:
class MyUserControl: UserControl
{
//Variable
string org="";
Page_Load()
{
org="test";
}
TestFunction()
{
//The value of org variable is empty here.
//It should however be "test" which i have set in page_load
}
}
“代碼是這樣的:”-提供代碼(甚至是片段)時,請嘗試使其符合語言語法-在這種情況下為C#。
為了觸發MyUserControl.Page_Load
,您必須將用戶控件添加到頁面的控件樹中:
MyUserControl cntrl = (MyUserControl)Page.LoadControl("~/MyUserControl.ascx");
Panel1.Controls.Add(cntrl);
Page_Load
方法必須具有非常特定的簽名和范圍:
class MyUserControl: UserControl
{
string org="";
protected void Page_Load(object sender, EventArgs e)
{
org="test";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.