如下图我想要在DropDownList的OnSelectedIndexChanged事件中实现更新该数据行的操作,因此要获取该行的主键ID,请问应该如何获取?

解决方案 »

  1.   

    sender.Parent.Parent

    sender.NamingContainer
      

  2.   

    sender.Parent.Parent 
    或 
    sender.NamingContainer
    得到GridViewRow
      

  3.   

    要先把sender 转为DropDownList
      

  4.   


    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList ddl = (DropDownList)sender;
            string sel = ddl.SelectedValue;
            
            GridViewRow row = (GridViewRow)ddl.Parent.Parent;
            if (row != null)
            {
                TextBox tb = (TextBox)row.FindControl("txtGg");
                if (sel == "1")
                {
                    tb.Text = sel;
                    tb.ReadOnly = true;
                }
                else if (sel == "2")
                {
                    tb.ReadOnly = false;
                    tb.Focus();
                }
                else
                {
                    tb.Text = "";
                }
            }
        }