我有兩個用戶控件,其中一個我有一個文本框,我需要從註冊的第二個用戶控件中檢索它的值在同一頁面。我怎樣才能做到這一點?我知道下面這行是錯誤的..但我記得它是這樣的。如何在一個單獨的用戶控件中找到一個單獨的用戶控件在其註冊的同一個頁面中
TextBox myText = (TextBox)FindControl["mycontrol"] as TextBox;
我有兩個用戶控件,其中一個我有一個文本框,我需要從註冊的第二個用戶控件中檢索它的值在同一頁面。我怎樣才能做到這一點?我知道下面這行是錯誤的..但我記得它是這樣的。如何在一個單獨的用戶控件中找到一個單獨的用戶控件在其註冊的同一個頁面中
TextBox myText = (TextBox)FindControl["mycontrol"] as TextBox;
如果需要訪問第一個控件的第二個控件的值
var textBox = this.Page.FindControl("SecondUserControl")
.FindControl("tbCardNumber") as TextBox;
凡SecondUserControl是頁面和tbCardNumber給出的ID是在第二控制
對TextBox給出。如果你嘗試從一個頁面
var textBox = SecondUserControl1.FindControl("SecondUserControl")
.FindControl("tbCardNumber") as TextBox;
訪問文本框的ID
其中SecondUserControl1是控件的ID,您可以在後面的代碼中訪問它。
但是,您可以通過屬性
public string TextBoxValue
{
get
{
return tbCardNumber.Text;
}
}
暴露文本框的值但是你仍然需要FindControl方法,如果你通過另一個用戶控件訪問
你的代碼應該工作,除非你有太多的強制類型轉換
TextBox myText = FindControl["mycontrol"] as TextBox;
MSDN documentation on FindControl它返回一個Control
,這是基類的the Textbox,所以只要這個轉換應該工作作爲找到的控件是文本框