在asp.net的SelectedIndexChanged事件中获取动态创建的下拉列表的id

nit*_*igo 1 c# asp.net html-select selectedindexchanged

我正在动态创建多个下拉列表(每个都有唯一的ID)并将它们绑定到面板.我还为它们编写了SelectedIndexChanged代码,每次更改下拉列表时都会触发它.我的问题是因为只有一个SelectedIndexChanged事件,我需要获取更改的下拉列表的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);

}
Run Code Online (Sandbox Code Playgroud)

这是SelectedIndexChanged代码:

void ddl_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = this.ClientID;
        }
Run Code Online (Sandbox Code Playgroud)

在id我得到"_page".我怎样才能获得下拉列表ID?

Sat*_*pal 5

sender指调用引发该事件处理该事件的对象.

void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    string id = ddl.ID ;
}
Run Code Online (Sandbox Code Playgroud)