GridView动态绑定按钮
GridView控件绑定按钮可以进行很多操作,如删除,修改,弹框等
首先前台:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" Width="798px" DataKeyNames ="aa" OnRowDataBound="GV__Bound" OnRowCommand="GV_Command">
<Columns>
<asp:TemplateField HeaderText="操作" >
<ItemTemplate>
<asp:LinkButton ID="lbtnRe" runat="server" CommandName="Submit" Text="点击" CommandArgument='<%# Eval("你所想绑定的字段比如ID") %>'
OnClientClick="return confirm('确定操作吗?');></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
这样前台有了操作列,其中蓝色字体属性作用是根据这个字段获取当前行的,把这个字段传到后台就能判断操作的是哪一条数据了
红色字体OnRowDataBound:在行数据绑定完成后,处理一些后事,OnRowCommand:行点击事件
后台代码写在这两个事件中
//点击后弹出页面并传值,如果不想弹出可以不写
protected void GV__Bound(object sender, GridViewRowEventArgs e) {
//获取前台DataKey值
DataKey dtk = GV_LowValue.DataKeys[e.Row.RowIndex];
LinkButton lbtnRe = (LinkButton)e.Row.FindControl("lbtnRe");
lbtnRe.Attributes.Add("onclick", "openWindow('../Info.aspx?Id=" + dtk["tblMaintainPurchaseID"].ToString() ,750,400);return false;");
//隐藏
//lbtnRe.Visible = false;
}
protected void GV_LowValue_RowCommand(object sender, GridViewCommandEventArgs e) {
//定义一个变量ID获取前台要传过来的值 string ID = e.CommandArgument.ToString(); if (e.CommandName == "Submit")
{
//当点击时需要执行的操作,下面是执行的修改语句,根据框架不同修改
s1.insert("update 表 set 字段=值 where 条件='" + ID + "'");
//绑定初始值的方法,实现刷新
init("");
}