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

时间:2015-08-31 12:28:39

标签: c# asp.net linkbutton

我想使用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

我希望保持同一页面并执行删除。

2 个答案:

答案 0 :(得分:2)

您不能设置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
}

答案 1 :(得分:0)

嗨试试这个获取id

LinkButton lnkDelete= (LinkButton )sender;

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