如何在asp.net中的链接上创建回发

本文关键字:链接 创建 asp net | 更新日期: 2023-09-27 18:29:46

我在asp.net中使用此代码:

string link = "<a href='"" + Request.Url.AbsolutePath + "?Id=" + x + ">" + "link" + "</a>";
literalLink.Text = link;
<asp:Literal ID="literalLink" runat="server"></asp:Literal>

但我在这个链接中有回发。

如何在asp.net中的链接上创建回发

如果我理解正确(我可能没有理解),你只想在PostBack之后显示链接。如果是这样的话,你可以这样做:

ASPX代码:

<asp:HyperLink ID="visitAgain" Text="Link" Visible="False" runat="server" />

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        visitAgain.Visible = true;
        visitAgain.NavigateUrl = Request.Url.AbsolutePath + "?Id" + x;
    }
}

这样做,而不是把所有的逻辑都放在.aspx文件中,还有一个额外的好处,那就是提高了可读性和更干净的代码。

如果希望使用链接将PostBack事件发送到正在处理的页面,请使用<asp:LinkButton>元素。它与普通按钮相同,只是显示为通用链接。

<asp:LinkButton runat="server" Id="lnkButton" Text="I do a postback, yay" OnClick="TheFunctionThatHandlesTheClickIfNecessary" />