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 に答える