請原諒的僞代碼,但它是一個簡單的問題:ASP.NET事件生命週期繼承用戶控件
我創建了一個用戶控件(myControlBase:用戶控件),在一個文本框(ID =「txtbox」)這是標記。在代碼隱藏中,我編寫了一個方法SayHello(string s){txtbox.Text = s; }。
我創建了另一個擴展myControlBase(myControl:myControlBase)的用戶控件。在這個子控件的page_load中,我打電話給SayHello(「hello」);並收到一個運行時錯誤,告訴我txtbox是空的(它還沒有創建,但顯然)。
那麼,我可以從用戶控件繼承並讓我的子控件訪問基本控件的標記嗎?我已經嘗試瞭解這些控件的事件生命週期,但我想我沒有得到它。
任何想法?
-edit-
對不起,它是ASP.Net。如果這段代碼使得它更清晰,那麼我在描述這個問題方面做得相當糟糕。
txtBox是一個ASP:存在於myControlBase標記中的文本框控件。
public partial class myControlBase : System.Web.UI.UserControl
{
protected void SayHello(string s){
txtBox.Text = s;
}
}
public partial class myControl: myControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
SayHello("hello");
}
}
這會在SayHello(「你好」)失敗;因爲txtBox返回Null。
我假設你在談論ASP.Net – SLaks 2010-02-25 21:32:33
你會發布你的代碼嗎? – Vlad 2010-02-25 21:34:28
哦。對不起,ASP不是我的能力。 – Vlad 2010-02-25 23:06:06