我正在动态创建多个下拉列表(每个都有唯一的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); }
这是SelectedIndexChanged代码:
void ddl_SelectedIndexChanged(object sender, EventArgs e) { string id = this.ClientID; }
在id我得到"_page".我怎样才能获得下拉列表ID?
该sender
指调用引发该事件处理该事件的对象.
void ddl_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = (DropDownList)sender; string id = ddl.ID ; }