15

このような基本的な質問をして申し訳ありませんが、ASP.NET Webサイトでは、__ VIEWSTATE入力フィールドは何を表していますか?

また、(他のフォームフィールドの値に基づいて)その値を計算する方法はありますか?

編集

名前が示すように、__ VIEWSTATEはWebページのフォームフィールド値の値を維持することを理解していますが、私が知りたいのは、この状態(文字列)がどのように生成されるかです。__VIEWSTATE文字列をbase64_decodeすると、表示されるのは不可解なHTMLの束だけです。

正確に何がエンコードされているかをよりよく理解する方法はありますか?過去の質問を検索して、このようなツールをいくつか見つけましたが、残念ながら機能しないようです。

私がこれを求めている理由は、私が作業する必要のあるほとんどの値を提供するWebサービスAPIにアクセスしたためです。ただし、フォームの最終段階でのみ使用できる追加のフィールドも必要です。私はすでにWebサービスプロバイダーに連絡しましたが、残念ながら、APIをすぐに更新する予定はありません。Webサービスデータを使用してフォームの初期値を事前入力し、__ VIEWSTATEを計算して、フォームの最後のステージに表示される最後のフィールドにアクセスできることを期待していました。これにより、プロセス全体が大幅に高速化されます。

私が自分自身を十分に明確にしたかどうかはわかりませんが...

4

6 に答える 6

8

Paul Wilson の非常に優れた記事があります: ViewState: All You Want to Know

VIEWSTATE は、LosFormatterクラスで逆シリアル化できます。

于 2009-08-29T02:59:45.890 に答える
1

クイックグーグル検索は質問に答えます:

http://msdn.microsoft.com/en-us/library/ms972976.aspx

最初の文:

Microsoft®ASP.NETビューステートは、一言で言えば、ポストバック間でWebフォームの状態への変更を永続化するためにASP.NETWebページで使用される手法です。

于 2009-08-29T02:09:04.970 に答える
1

http://forums.techarena.in/windows-software/1329157.htmに投稿されている苦いスクリプトを見てください。

このスクリプトは、__ViewStateおよびその他の.NET変数を設定および使用する方法を示しています。

そのスクリプトは.NETサイトにログインし、ブラウザを経由せずに株価を取得します。ユーザーが手動で行う代わりに、スクリプトはプログラムで行います。

于 2010-08-20T18:33:00.913 に答える
1

本当によく理解したい場合は、ViewState に関する Dave Reed の記事を参照してください。

于 2009-08-29T02:49:16.127 に答える
0

その値を計算するとはどういう意味ですか?

これは、テキスト形式のフォームフィールド/値の圧縮された(実際にはBase64でエンコードされた)ペアであり、サーバー側のオブジェクトにシリアル化されて操作できると想定します。

于 2009-08-29T02:10:21.803 に答える
0

Razor でこれを行う最も簡単な方法は、これをビューに配置することです。

@{
    throw new Exception();
} 
于 2017-12-18T01:40:33.847 に答える