我想使用a herf
或LinkButton
或HyperLink
<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
我希望保持同一页面并执行删除。
答案 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]);