簡體   English   中英

如何找到動態創建的按鈕 ASP.net 的容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM