Итак, вы привязываете свой выпадающий список, как этот, внутри сетки?
<asp:DropDownList ID = "ddlchoose" runat="server"
SelectedValue='<%# Eval("Active") %>' >
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
Если это так, используйте это - Установите AutoPostBack="true" and OnSelectedIndexChanged="ddlchoose_SelectedIndexChange"
На aspx.cs
protected void ddlchoose_SelectedIndexChange(object sender, EventArgs e)
{
DropDownList ddlchoose= (DropDownList)sender;
// get reference to the row
GridViewRow gvr = (GridViewRow)(((Control)sender).NamingContainer);
//Get the reference of this ddlchoose
DropDownList refddlchoose = (DropDownList)gvr.FindControl("ddlchoose");
Control ddlchooseParent = refddlchoose.Parent;
int roeid = Convert.ToInt32((gridview1.SelectedRow.FindControl("ID")).ToString());
if(ddlchoose.SelectedValue=="1")
{
//Update method
Update(roeid , ddlchoose.SelectedValue.Trim());
}
else if(ddlchoose.SelectedValue=="0")
{
//Delete method
Delete(roeid);
}
gridview1.DataBind();
}