在gridview中插入DropDownList列,
并绑定了datatext和datavalue,想在OnSelectedIndexChanged 事件更新这条记录的相关内容
需要获取获取该DropDownList所在行的rowindex以获取记录的ID值,请问该怎么实现呢?

解决方案 »

  1.   

    要在OnSelectedIndexChanging事件中写
    获得所在的行:e.index就是你点击的这一行
    获得ID:Convert.ToInt32(gridview.DataKeys[e.Item.ItemIndex])
      

  2.   

     protected void DropDownList1_SelectedIndexChanged(Object sender, EventArgs e)e没有index属性
      

  3.   

        protected void drpItem_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList  drp = sender as DropDownList; // 触发事件的 DropDownList
            GridViewRow row = drp.NamingContainer as GridViewRow; // GridView 当前行
    int rowIndex = row.RowIndex;
    // .....
    }ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList   
    http://www.cnblogs.com/Jinglecat/category/94951.html
      

  4.   

    在gridview中的要在OnSelectedIndexChanging事件中写 
    如果你是想在模版列中的下拉框中触发的话,你这逻辑就不对,只有手工注册一个事件委托,自己写委托事件,控件放在模版列中在页面中是找不到的,只有在ItemdataBound()事件中用e.findcontrol()方法可以找到