我創建一個文本框和在報頭(用戶控制)提交按鈕包括在主頁訪問文本框的值來.aspx.vb
和我想使用該文本框的值點擊我的.aspx.vb頁面提交後。
我怎樣才能訪問,因爲VB頁面先加載,然後主頁面加載?
我創建一個文本框和在報頭(用戶控制)提交按鈕包括在主頁訪問文本框的值來.aspx.vb
和我想使用該文本框的值點擊我的.aspx.vb頁面提交後。
我怎樣才能訪問,因爲VB頁面先加載,然後主頁面加載?
在這條路上你不硬連接用戶控件使用事件與他們的頁面/ MasterPages和頁面與它的主。
事件添加到您的用戶控件是當用戶點擊該按鈕,例如提出:
在用戶控件MyControl
類型:
public delegate void SubmittedHandler(MyControl ctrl);
public event SubmittedHandler Submitted;
protected void BtnCLick(object sender, EventArgs e) {
Submitted(this);
}
然後在你的母版的處理程序添加到這個事件,處理它,並再次提高法師的事件:
師父的代碼隱藏:
public delegate void MyControlSubmittedHandler(MyControl ctrl);
public event MyControlSubmittedHandler ControlSubmitted;
protected void Page_Init(Object sender, EventArgs e) {
this.MyControl1.Submitted += MyControlSubmitted;
}
protected void MyControlSubmitted(MyControl sender) {
ControlSubmitted(sender);
}
然後,一個處理這一事件添加到您的網頁:
在你的頁面:
protected void Page_Init(object sender, EventArgs e) {
((SiteMaster)Master).ControlSubmitted += MasterControlSubmitted;
}
protected void MasterControlSubmitted(MyControl sender){
// do whatever you need to do
}
如果你只需要在頁面訪問TextBox
,你不需要處理click - 事件,你也可以使用屬性來實現這一點:
MyControlText
在您的UserControl
中獲取/設置TextBox.Text
屬性MyControlText
在Master
是獲取/設置你的用戶控件的屬性MyControlText
((SiteMaster)Master).MyControlText = "Hello World";
文本框瓦爾=(文本框)this.Master。的FindControl( 「TextBoxID」);