2012-03-01 23 views
3

テキストボックスの値は、ポストバックではViewstateで維持されません。 ASP.NETのWebページがロードポストバックデータ 段階に戻って掲載されている場合ViewstateのTextBox値?

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

、Pageクラスは、バック投稿フォームフィールドの1 がIPostBackDataHandlerインターフェイスに対応していることを見ています。コントロールには という階層があり、TextBoxのLoadPostData()メソッドは が呼び出され、ユーザーがTextBoxに入力した値 ( "Hello、World!")が渡されます。 TextBoxのLoadPostData()メソッドは、単にこの値に渡された をTextプロパティに代入します。値はでポストされたフォームフィールドの値によって識別され、IPostBackDataHandlerを実装するコントロールのLoadPostData() メソッドで割り当てられます。 TextBoxコントロールは、このイベントを正常に動作させるには サーバーへのポスト間のいくつかの値を保持しなければならない

注:

は今およそTextBox.OnTextChanged Method

それはそれが言う話をすることができます。このコントロールでは、ビューの状態が であることを確認してください。

質問:

だから私は、特定のイベントのために、それはのViewStateへの書き込みはないことを推測...

どのようにそれは「Viewsstateに変更を追跡開始」にASP.NETを教えてくれありません

答えて

2

TextBoxのViewStateを有効にすると、そのテキストボックスに保存されます。


ASPXページの例

<asp:TextBox ID="tb" runat="server" EnableViewState="true"></asp:TextBox> 

C#(コードビハインド)の例

tb.EnableViewState = true; 

この値が必要とされないという事実についてのあなたの引用の会談ポストバック時にフォームを復元するとき。

したがって、TextBoxのViewStateをオフにすることはできますが、それでも値は保持されます。しかし、OnChangedは動作しません。

+0

私はそれを知っています....:)私の質問は: "私はonTextChangeを使用したい場合 - 私はviewstateを有効にする必要があります... OK ...作るsence ....しかし、どのようにAsp.netに" Viewsstateへの変更を追跡開始 " –

+0

「開始」はありません。 Viewstateを有効にして、常にテキスト値を保存します。 –

+0

入力値がviewstateの値を常に保存すると言っていますか? –

0

質問の最初の文は間違っていませんが、不正確です。

コントロールのプロパティ(EnableViewState)を使用するか、ページレベルでもviewstateを有効/無効にできます。 EnableViewStateは、TextBoxにデフォルトで有効になっています。これがオンになっていると、ポストバックの間に値が保持されます。