在GridView下面绑定好了下拉框,我们常常会遇到一个问题,
选择方法怎么实现呢,用js总是难的去算是在GridView的第几行第几个元素,因为服务器的id和客户端的id经常变化让js根本无从找起,所以我认为还是用DropnLIst的自带选择方法实现是最佳的。
下面是前端代码,要注意一点AutoPostBack一定要设为true,不然就不实现后台方法了。
<asp:DropDownList ID="dddjfoot" runat="server" AppendDataBoundItems="true"
AutoPostBack="true" onselectedindexchanged="dddjfoot_SelectedIndexChanged"
>
<asp:ListItem Value=" ">-请选择-</asp:ListItem>
<asp:ListItem Value="厂价">厂价</asp:ListItem>
<asp:ListItem Value="优价">优价</asp:ListItem>
<asp:ListItem Value="批发价">批发价</asp:ListItem>
<asp:ListItem Value="优惠价">优惠价</asp:ListItem>
<asp:ListItem Value="面议">面议</asp:ListItem>
</asp:DropDownList>
后台代码
protected void dddjitem_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
GridViewRow row = (GridViewRow)ddl.Parent.Parent;
TextBox tb = row.FindControl("txtdj") as TextBox;
tb.Text = ddl.SelectedValue;
}
GridViewRow row = (GridViewRow)ddl.Parent.Parent;这句是获取当前选择行,获取这行数据基本上就能取到本行的所以值,并且能对当前行所有控件进行操作了。