我在gridview中添加了两个按钮.. 在页面加载事件的网格视图中加载数据的位置.. 现在我想分别在添加和删除按钮上编写更新和删除查询。 我的问题是如何在按钮点击事件
上选择行ID <asp:GridView ID="GridView1" runat="server" CssClass="flat-table flat-table-1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btn_add" runat="server" CommandName="Add" OnClick="btn_add_Click" Text="Add" CssClass="btn btn-align btn-primary" />
<asp:Button ID="btn_cancel" runat="server" CommandName="Cancel" OnClick="btn_cancel_Click" Text="Delete" CssClass="btn btn-align btn-danger" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:0)
将ItemTempalate
修改为以下内容。注意:我已使用CommandArgument
传递选定的row_index
。
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btn_add" runat="server" CommandName="Add" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Add" CssClass="btn btn-align btn-primary" />
<asp:Button ID="btn_cancel" runat="server" CommandName="Cancel" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" Text="Delete" CssClass="btn btn-align btn-danger" />
</ItemTemplate>
</asp:TemplateField>
添加row_command
事件,并使用以下服务器端代码,我只处理"Add"
操作。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName == "Add")
{
// Handling for add
string arg = e.CommandArgument.ToString();
int rowidx = int.Parse(arg);
// arg = selected index, as we are using that in cmd arg.
GridViewRow SelectedRow = GridView1.Rows[rowidx];
}
}