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

时间:2013-09-01 19:55:39

标签: c# asp.net postback

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

string link = "<a href=\"" + Request.Url.AbsolutePath + "?Id=" + x + ">" + "link" + "</a>";
literalLink.Text = link;

<asp:Literal ID="literalLink" runat="server"></asp:Literal>

但我在此链接中有回发。

2 个答案:

答案 0 :(得分:2)

如果我理解正确(我可能没有),你只想在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文件中的所有逻辑都具有提高可读性和更清晰代码的额外好处。

答案 1 :(得分:1)

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

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