0

私は最近asp.net POSTメソッドを使用しようとしましたが、いくつかの問題が発生しました

ポストメソッドを使用しようとしたときに、フォームのアクションを変更できず、ページごとに1つのサーバー側フォームのみを使用できるようにすることを求めています。

私がしたことは、独自のフォーム コントロールを作成し、それをページで使用することでした

Response.Clear();

        StringBuilder sb = new StringBuilder();
        sb.Append("<html>");
        sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
        sb.AppendFormat("<form name='form' action='{0}' method='post'>", "https://test.com.au/Login/Account/Login.aspx");
        sb.AppendFormat("<input type='hidden' name='AP' value='{0}'>", "99");
        // Other params go here
        sb.Append("</form>");
        sb.Append("</body>");
        sb.Append("</html>");

        Response.Write(sb.ToString());

        Response.End();

リンク先の URL に移動した後、ブラウザの [戻る] ボタンを使用しようとしましたが、機能しません。単純に戻ることができませんか?

これはasp.netの問題ですか、それとも何か不足していますか?

実際、私は支払い逃走に取り組んでおり、パラメーターを POST メソッドで渡す必要があります

4

1 に答える 1

0

戻ろうとしても、戻っても、前のページは自動的に「ポストバック」され、元のページに移動します。

つまり、後ろの仕事、そしてあなたは実際に後ろに移動します - そこで行われるのはあなたの問題です。

正しい方法は、そこに表示するフォームをページの一部にすべて準備して「レンダリング」し、送信の入力をクリックして、そのフォームを直接送信するだけで、自動投稿を行う 2 番目のページを作成しないことです。

asp.netが1つのフォームしか許可しないという問題は知っていますが、それに代わるものがあります。あなたに役立つかもしれないこの答えを読むことができます:クロスページ投稿。Asp.net で PreviousPage を使用するのは良い方法ですか?

ここで、支払いを逃すと言っているので、asp.net のフォームの直後に、カスタム送信フォームを含むページを完全にレンダリングすることをお勧めします。実際にはasp.netフォームをまったく使用せず、上記のようにパラメータをレンダリングするだけで、ユーザーは送信をクリックしてゲートウェイを移動できます。

于 2012-10-21T09:13:41.370 に答える