GridView 删除确认 ButtonField
GridView Delete Confirm ButtonField
我想从我的 gridview 中删除一行并通过 javascript 确认。
我的 gridview 看起来像:
<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:ButtonField CommandName="delete" Text="Delete" />
</Columns>
</asp:GridView>
我已经尝试使用 TempleField 并且它有效,但问题是获取要从数据库中删除的 select 行的值。
我这样试过:
<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnSave" runat="server" Text="Delete" OnClientClick="return confirm('Do you want to delete?')" CommandName="delete" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
并尝试获取这样的值:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "delete")
{
int index = Convert.ToInt32(e.CommandArgument);
string id = GridView1.Rows[index].Cells[1].Text.ToString();
Response.Write(id);
}
}
但它在
上抛出 FormatException
int index = Convert.ToInt32(e.CommandArgument);
有人可以帮助我吗?对不起,我的英语不好。
您需要从按钮标签
设置CommandArgument
<asp:Button ID="btnSave" runat="server" Text="Delete" OnClientClick="return confirm('Do you want to delete?')" CommandName="delete" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"/>
Here 是关于如何使用 CommandArgument
的更多信息
我想从我的 gridview 中删除一行并通过 javascript 确认。
我的 gridview 看起来像:
<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:ButtonField CommandName="delete" Text="Delete" />
</Columns>
</asp:GridView>
我已经尝试使用 TempleField 并且它有效,但问题是获取要从数据库中删除的 select 行的值。
我这样试过:
<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnSave" runat="server" Text="Delete" OnClientClick="return confirm('Do you want to delete?')" CommandName="delete" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
并尝试获取这样的值:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "delete")
{
int index = Convert.ToInt32(e.CommandArgument);
string id = GridView1.Rows[index].Cells[1].Text.ToString();
Response.Write(id);
}
}
但它在
上抛出 FormatExceptionint index = Convert.ToInt32(e.CommandArgument);
有人可以帮助我吗?对不起,我的英语不好。
您需要从按钮标签
设置CommandArgument
<asp:Button ID="btnSave" runat="server" Text="Delete" OnClientClick="return confirm('Do you want to delete?')" CommandName="delete" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"/>
Here 是关于如何使用 CommandArgument
的更多信息