Control.SaveViewState メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールのビューステートの変更を保存します。
protected:
virtual System::Object ^ SaveViewState();
protected virtual object SaveViewState ();
abstract member SaveViewState : unit -> obj
override this.SaveViewState : unit -> obj
Protected Overridable Function SaveViewState () As Object
戻り値
サーバー コントロールの現在のビューステートを返します。 コントロールに関連付けられているビューステートがない場合、メソッドは null
を返します。
例
次の例では、 SaveViewState カスタム ASP.NET サーバー コントロールの メソッドをオーバーライドします。 このメソッドを呼び出すと、コントロールに子コントロールがあるかどうか、および含まれている Page オブジェクトがポストバックの結果であるかどうかを判断します。 両方が true の場合、Web サーバー コントロールの プロパティが TextLabel 読み取 Custom Control Has Saved State
りに変更されます。 次に、 という名前 allStates
のオブジェクトの配列としてコントロールのビューステートを保存します。
protected override object SaveViewState()
{ // Change Text Property of Label when this function is invoked.
if(HasControls() && (Page.IsPostBack))
{
((Label)(Controls[0])).Text = "Custom Control Has Saved State";
}
// Save State as a cumulative array of objects.
object baseState = base.SaveViewState();
string userText = UserText;
string passwordText = PasswordText;
object[] allStates = new object[3];
allStates[0] = baseState;
allStates[1] = userText;
allStates[2] = PasswordText;
return allStates;
}
Protected Overrides Function SaveViewState() As Object
' Change Text Property of Label when this function is invoked.
If HasControls() And Page.IsPostBack Then
CType(Controls(0), Label).Text = "Custom Control Has Saved State"
End If
' Save State as a cumulative array of objects.
Dim baseState As Object = MyBase.SaveViewState()
Dim _userText As String = UserText
Dim _passwordText As String = PasswordText
Dim allStates(3) As Object
allStates(0) = baseState
allStates(1) = _userText
allStates(2) = PasswordText
Return allStates
End Function
注釈
ビュー ステートは、サーバー コントロールのプロパティの値の累積です。 これらの値は、 クラスのインスタンスであるサーバー コントロールの ViewState プロパティに自動的に StateBag 配置されます。 このプロパティの値は、サーバー コントロールのライフ サイクルの保存状態ステージの後に文字列オブジェクトに永続化されます。 詳細については、「 ASP.NET ページのライフ サイクルの概要」を参照してください。
ビューステートが保存されると、この文字列オブジェクトは、HTML HIDDEN
要素に格納されている変数としてクライアントに返されます。 カスタム ビューステートを使用してカスタム サーバー コントロールを作成すると、 メソッドと LoadViewState メソッドを使用してビューステートをSaveViewState明示的に管理できます。 詳細については、「 ASP.NET State Management の概要」を参照してください。 カスタム セッション状態プロバイダーの実装については、「 Session-State ストア プロバイダーの実装」を参照してください。
適用対象
こちらもご覧ください
.NET