0

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

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

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

但我在此链接中有回发。

4

2 回答 2

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 文件中包含所有逻辑具有提高可读性和更清晰代码的额外好处。

于 2013-09-01T20:46:13.020 回答
1

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

<asp:LinkButton runat="server" Id="lnkButton" Text="I do a postback, yay" OnClick="TheFunctionThatHandlesTheClickIfNecessary" />
于 2013-09-01T22:18:30.637 回答