2017-06-01 36 views
0

PostBackUrlの目的は何ですか?
のは、私がCart.aspxであるbuttonを持っているとしましょう:PostBackUrlの目的<asp:Button>

<asp:Button ID="btnContinue" runat="server" Text="Continue Shopping" PostBackUrl="~/Order.aspx" CssClass="btn" /> 

私はむしろ、元Cart.aspxに滞在するよりも、Order.aspxにredirectdされることを意味します。ここに私の二つの質問です:

  1. 私もTextBoxでCart.aspxを持っています。
    をクリックすると、TextBoxの値はCart.aspxではなく、Order.aspxにポストされます。今私はこの値がCart.aspxに転記されている場合にのみ、このTextBoxを含むことができると考えています。
    新しいページでこの値を取得する場合はどうすればよいですか? Cart.aspx上の任意の入力を取得する方法がない場合は

  2. 、なぜ我々はPostBackUrlを使用する必要がありますか?次のものを追加するだけです:

    Response.Redirect("~/Order.aspx")Cart.aspx.cs

+0

でより多くを学ぶことができます。ボタンをクリックするとPostイベントが生成され、ページ上のフォームがサーバーにポストバックされます。ケースにはOrder.aspxページがあります。 FormCollectionを使用すると、フォームの値を抽出して処理できます。 – Gururaj

答えて

1

あなたがエントリーPostBackUrlを指定しない場合、ボタンは、それがcart.aspxで、あなたのケースで、同じページにデータを提出します。

PostBackUrlの目的は、のデータページ全体にわたる投稿です。

PostBackUrl="~/Order.aspx"を指定すると、データはOrder.aspxページにポストされます。 Order.aspxページでTextBoxカートになっています)を手に入れることができます。ASPX)を使用してデータ:

Page.PreviousPage.FindControl("TextBox1") 

をあなたがこれは私があなたがボタンをクリックしたときに何が起こるか考えるものであるhttps://msdn.microsoft.com/en-us/library/ms178139.aspx

0

私の理解に基づいて(間違っているかもしれないが)。

  1. Webページはステートレスです。テキストボックスの値は、一度退出またはポストバックを実行すると消えます。このページの値が必要な場合は、クッキー、ビューステート、セッションまたはクエリ文字列を使用して、この値を取得できます。

  2. PostBackUrlを使用する必要はありませんが、使いたい場合はそれを使います。 そして、Response.Redirect( "〜/ Order.aspx")は、CodeBehindで何をしなくても使用できます。 PostBackUrlは同じことを行いますが、リダイレクトする前に必要なコードは実行しません。

関連する問題