在Repeater里怎么触发DropDownList的SelectedIndexChanged事件
protected void ddlSegmentType_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable dt1 = Yok.Components.GL.GL.GetAgentSegmentTypeName();
(this.Repeater1.FindControl("ddlSegmentTypeName") as DropDownList).DataSource = dt1;
(this.Repeater1.FindControl("ddlSegmentTypeName") as DropDownList).SelectedValue = "SegmentTypeName";
}
在前面设了断点,回发后还是没有触发!
首先要明确什么是事件,对于控件repeater来说,只有itemdatabound、
databinding等事件。而selectedindexchanged属于dropdownlist的事件。
其次是要搞明白findcontrol方法的大慧镇使用条件。在这个滚粗例子中findcontrol方法隶属于repeater1控件。
搞明白事件、方法、属性等概念是解决问题的关键,现在有好多不负责任的出版社在碧晌翻译国外图书的时候将事件、方法、属性等关键的概念乱翻一气。有的地方把事件说成方法,有的把方法说成属性,误导读者,我也是受害者之一。
要找到dropdownlist控件必须调用repeater控件的itemdatabound事件。
刚才试了一下 没有发现你说的问题。
在我这物如毁里能够出橡颂发,在Repeater中 你罩备是否设置了DropDownList的
AutoPostBack属性为True
DropDownList ddl = sender as DropDownList;
即可获取到当前出发事件的下拉列表框