如何使用链接按钮或超链接或href执行删除操作

本文关键字:执行 删除 操作 href 超链接 链接 按钮 何使用 | 更新日期: 2023-09-27 18:10:36

我想使用a herfLinkButtonHyperLink执行删除操作

<asp:LinkButton ID="lnkDelete" Text="Delete" runat="server" NavigateUrl='<%# Bind("ID","~/Persons.aspx?ID={0}") %>' OnClick="lnkDelete_Click" ></asp:LinkButton>

StoredProcedure:

CREATE PROCEDURE spDeletePerson
    @Id int
AS
BEGIN
    Delete from tblpersons where ID = @Id
    SET NOCOUNT ON;

END
GO

我想保持在同一页,并执行删除。

如何使用链接按钮或超链接或href执行删除操作

不能设置NavigateUrl,否则会转到其他页面。相反,代码应该看起来像:

<asp:LinkButton CommandArgument='<%# Bind("ID") %>' ID="lnkDelete" 
  Text="Delete" runat="server" OnClick="lnkDelete_Click" />

注意CommandArgument属性-基本上你可以给这个属性分配任何自定义字符串,它将被传递给你的OnClick处理程序(在这种情况下,我们传递那里的id)。

背后的代码:

protected void lnkDelete_Click(object sender, EventArgs e)
{
  var button = (IButtonControl)sender;
  // grab the id from CommandArgument property
  int id = Convert.ToInt32(button.CommandArgument, CultureInfo.InvariantCulture);
  // call stored procedure based on id
}

LinkButton lnkDelete= (LinkButton )sender;
ID= Common.CInt(lnkDelete.CommandArgument.Split(',')[0]);