2009-06-02 19 views
3

jQueryを使用してサーバーにデータをPOSTするとき、私はいくつかの奇妙な動作をしています。jQuery POSTがIsPostback変数を変更しない

シリアル化されたフォームデータに__VIEWSTATEと__EVENTVALIDATIONを含めると、IsPostbackページ変数がtrueに設定されます。これら2つを除外すると、IsPostbackはfalseに設定されます。

私はこの2つの変数を含めるだけで十分ですが、背後で何が起こっているのか誰でも知っていますか?

+1

あなたがやっていることや達成しようとしていることのいくつかの例のコードを投稿してください。 –

答えて

4

viewstateとeventvalidationのトラックの1つは、ポストバックが発生したかどうかです。イベントベースのASP.NETページライフサイクルを考慮すると、ポストバックが発生したかどうかを単にどこかの値を格納するだけでなく追跡する方法はありません。

つまり、viewstateオブジェクトを探し、ポストバックブール値を見つけてそれをtrueに変更することで、手動でポストバックをチェックできます。これは記述されている通りではないかもしれませんが、viewstate内で何が起こっているのかが少しはっきりしています。

2

IsPostBack()はちょっと混乱しますが、それは__VIEWSTATEと__EVENTVALIDATIONをチェックしています。それが確かにしないのは、HTTP動詞がPOSTかGETかどうかをチェックすることです。これは、ほとんどの人が想定しています(シンプルページを設定し、viewstateとeventvalidation文字列を入力してIsPostBack()をチェックしてください。

しかし、これをチェックしたいのはなぜですか?本当にこれは完全なフォームの投稿が送信されたときにのみ発生し、IsPostBackがあるWebサービス

0

jqueryで「ポストバック」を発行する場合は、__VIEWSTATEと__EVENTVALIDATIONを含める必要があります。これらは、ASP.NET WebFormsが完全なポストバックを適切に伝えるために必要な2つの重要なデータです。あなたはサービスコールを発行したいだけです。そして、あなたはどちらかのトスを必要とすべきではありませんWebFormsイベントパイプラインのすべての利点を利用してページに投稿する機能が失われます。

関連する問題