在模板里的DropDownList控件标签内,给控件指派事件OnSelectedIndexChanged=ddlxxx_SelectedIndexChanged.在后台编码使用以下代码获取该DropDownList的控件ID。
private int GetIndexFormClientID( Control control )
{
int start = control.NamingContainer.ClientID.IndexOf( "_ctl" );
start += 4 ;
string sIndex = control.NamingContainer.ClientID.Substring( start );
int index = int.Parse( sIndex );
index -= 1; // zero base
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return index;
}
使用代码如下片断:
webform页面代码片断:
<asp:dropdownlist id="ddlNameID" runat="server" OnSelectedIndexChanged="ddlxxx_SelectedIndexChanged"
Width="100%" AutoPostBack="True"></asp:dropdownlist>
codebehind代码片断:
protected void ddlxxx_SelectedIndexChanged(object sender, System.EventArgs e)
{
DropDownList ddlxxx = ( DropDownList)sender;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int index = this.GetIndexFormClientID( ddlxxx );
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if( index > -1 )
{
//more code line
}
}
如果包含DropDownList控件的控件是DataGrid,那么在GetIndexFormClientID返绘值再减去1,如果是DataList和Repeater就不用。
此方法在Vs2003下测试通过!vs2005就没测试过了
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
使用代码如下片断:
webform页面代码片断:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
此方法在Vs2003下测试通过!vs2005就没测试过了