我在 asp.net 中使用此代码:
string link = "<a href=\"" + Request.Url.AbsolutePath + "?Id=" + x + ">" + "link" + "</a>";
literalLink.Text = link;
<asp:Literal ID="literalLink" runat="server"></asp:Literal>
但我在此链接中有回发。
如果我理解正确(我可能不会),您只想在 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" />