0

asp:hyperlinkからasp:linkBut​​tonに変更する必要がありましたが、リンクボタンでnavigateUrlを使用できなくなりました...何か提案はありますか?

<asp:LinkButton ID="InvoiceLink" runat="server" NavigateUrl="~/Invoices/List.aspx">
           <asp:Label id="labelBindfromHomeToInvoice" runat="server" Text="<%# Bind('Site_Name') %>"/>
        </asp:LinkButton>
4

3 に答える 3

1

PostBackUrlデータを別の URL に「投稿」するため、LinkBut​​ton は を使用します。

于 2013-02-19T12:43:21.287 に答える
1

LinkButtonそのようには機能しません。ハイパーリンクの外観を持つ にLinkButton似ています。Buttonしたがって、OnClick イベントを処理できます。

<asp:LinkButton ID="InvoiceLink" runat="server" OnClick="InvoiceLink_Click">
    <asp:Label id="labelBindfromHomeToInvoice" runat="server" Text="<%# Bind('Site_Name') %>"/>
</asp:LinkButton>

コードビハインドで

protected void InvoiceLink_Click(object sender, EventArgs e)
{
    Response.Redirect("~/Invoices/List.aspx");
}

編集済み

この回答を改善します。との主な違いは、HyperLinkPostBackを行わないことです。NavigateURL をサーバーに要求するだけです。はただの普通です。これは、サーバーをポストバックすることを意味し、これを行うことのすべての長所と短所があります (たとえば、ViewState の送信、コントロールの更新など)。LinkButtonHyperLinkLinkButtonButton

別のページにリダイレクトする必要がある場合は、おそらくそれが最良の選択ですHyperLink

于 2013-02-19T12:44:09.507 に答える
1

リンクボタンでは、PostBackUrl

<asp:LinkButton ID="InvoiceLink" runat="server"
     PostBackUrl="~/Invoices/List.aspx">
于 2013-02-19T12:45:19.723 に答える