因为在GridView的模板列中 使用了自加的编辑及删除按钮
前台代码如下:
<asp:GridView ID="gv_Info" runat="server" AllowSorting="True"
AutoGenerateColumns="False"
CssClass="GridView" OnRowCommand="gv_Info_RowCommand"
OnRowDataBound="gv_Info_RowDataBound"
OnSorted="gv_Info_Sorted" OnSorting="gv_Info_Sorting"
Width="100%" AllowPaging="True" >
...
<asp:TemplateField HeaderText="Operation" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"/>
<ItemTemplate>
<asp:ImageButton ID="imgbtn_Edit" runat="server"
AlternateText="Edit" CommandName="edit"
ImageAlign="AbsMiddle" ImageUrl="../Images/Edit.gif" />
<asp:ImageButton ID="imgbtn_Delete" runat="server"
AlternateText="Delete" CommandName="delete"
ImageAlign="AbsMiddle" ImageUrl="../Images/Delete.gif"
OnClientClick='<%# "return fnConfirmDelete(\"" + DataBinder.Eval(Container.DataItem,"UserName") + "\");" %>'
/>
</ItemTemplate>
</asp:TemplateField>
后台相关代码:
protected void gv_Info_RowCommand(object sender, GridViewCommandEventArgs e)
{
string cmd = e.CommandName.ToLower().Trim();
if (cmd == "edit")
{
gv_Row_Edit(e);
}
else if (cmd == "delete")
{
gv_Row_Delete(e);
}
}
编译通过
但在实际运行中 点击 编辑按钮 或 删除按钮 时 会
一种方法:
直接将 CommandName="edit" -》 CommandName="my_edit"
CommandName="delete" -》 CommandName="my_delete"
另一种方法:
增加相应的gv_Info_RowEditing , gv_Info_RowDeleting 事件处理
#region RowDeleting
protected void gv_Info_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}
#endregion