[英]How to find container of dynamically created button ASP.net
我有一個 WebForm,它的控件是動態創建的,因為它們的數量可能會有所不同。 每個元素都是一個 Panel,其中包含一個 TextBox、一個 DropDownList 和一個 Button。
每個控件都有一個唯一的 ID,並且所有按鈕都具有相同的 clickEvent。 在 clickEvent 的代碼中,我想獲取 presedButton 所屬的面板的 ID,以便我可以從該面板的 DropDownList 和 TextBox 中訪問所選值。
我該怎么做以上?
private void button1_Click(object sender, EventArgs e)
{
var panelId = ((Button)sender).Parent.ID;
}
或者您可以直接獲取控件
private void button1_Click(object sender, EventArgs e)
{
var myTextbox = ((Button)sender).Parent.Controls.OfType<TextBox>().FirstOrDefault();
var myDropDownlist = ((Button)sender.Parent.Controls.OfType<DropDownList>().FirstOrDefault();
}
或通過控制 ID:
private void button1_Click(object sender, EventArgs e)
{
var myTextbox = ((Button)sender).Parent.Controls.OfType<TextBox>().Where(x => x.ID == "textboxID").SingleOrDefault();
var myDropDownlist = ((Button)sender).Parent.Controls.OfType<DropDownList>().Where(x => x.ID == "dropdownlistID").SingleOrDefault();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.