C# 在asp.net中的SelectedIndexChanged事件中获取动态创建的dropdownlist的id

C# 在asp.net中的SelectedIndexChanged事件中获取动态创建的dropdownlist的id,c#,asp.net,html-select,selectedindexchanged,C#,Asp.net,Html Select,Selectedindexchanged,我正在动态地创建多个DropDownList(每个都有唯一的ID),并将它们绑定到一个面板。我还为他们编写了SelectedIndexChanged代码,每当下拉列表更改时,该代码就会被触发。我的问题是,由于只有一个SelectedIndexChanged事件,我需要获取已更改的dropdownlist的id。我怎么能得到这个 以下是我将下拉列表绑定到面板的代码: foreach (Document offer in parent.Children) { Pan

我正在动态地创建多个DropDownList(每个都有唯一的ID),并将它们绑定到一个面板。我还为他们编写了SelectedIndexChanged代码,每当下拉列表更改时,该代码就会被触发。我的问题是,由于只有一个SelectedIndexChanged事件,我需要获取已更改的dropdownlist的id。我怎么能得到这个

以下是我将下拉列表绑定到面板的代码:

 foreach (Document offer in parent.Children)
            {
    Panel pnlCat = new Panel();
                    pnlCat.ID = offer.Id.ToString();
                    pnlCat.CssClass = "ngx";
    DropDownList ddl = new DropDownList();
                    ddl.ID = offer.Id + "_cat";
                    ddl.DataTextField = "catName";
                    ddl.DataValueField = "catId";
                    ddl.CssClass = "ddlStyle";
                    ddl.DataSource = category;
                    ddl.DataBind();
                    ddl.AutoPostBack = true;
                    ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
     pnlCat.Controls.Add(ddl);

}
以下是SelectedIndexChanged代码:

void ddl_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = this.ClientID;
        }

在id中,我得到“\u页面”。我如何获得dropdownlist ID

sender指调用触发事件处理程序的事件的对象

void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    string id = ddl.ID ;
}

sender
引用调用触发事件处理程序的事件的对象

void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    string id = ddl.ID ;
}
第一个参数包含已触发事件的对象

第一个参数包含已触发事件的对象