2012-01-17 24 views
0

私は次のような状況に陥っています。 1つのaspxページにはascxが1つあり、その中にチェックボックスがあります。 aspxページで私はEnableViewState = trueとViewStateMode=disabledを持っています。次に、ビューステートを必要とするすべてのコントロールに対して、私はViewStateMode=Enabledをオーバーライドします。 ascxでは、aspxページの宣言でも、ascxページのヘッダーでもViewStateModeが有効になっています。チェックボックスにも設定されています。 クリックすると、selected_changedイベントは発生しません。それはAuto-postback=trueがあるのでポストバックしますが、イベントは発生しません。チェックボックスでViewstateが機能しない

マスターのaspxページでViewStateModeを有効に設定している場合は動作します。しかし、なぜそれがそれをオーバーライドしないのかわかりません...

+0

=「true」を設定することによってのみ、チェックボックスにビューステートを有効にしないのですか?このように:[方法:トレースビューアでASP.NETトレース情報を表示する](http://msdn.microsoft.com/en-us/library/wwh16c6c.aspx) –

+0

これらを設定して再現しようとしました: - site.master(viewstatemode =偽) - のdefault.aspx(viewstatemode =偽) - UserControl1の(viewstatemode = false)を CheckBox1_CheckedChangedが発射されるイベント。 チェックボックスにViewStateModeを有効にする必要はありません。 私はこの問題が他の場所にあると思います。 –

+0

こんにちは。時間をとってくれてありがとう。私は追跡を有効にしました。フォームコレクションでは、チェックボックスへの参照が2つあります:1つはイベントターゲットで、もう1つは値のあるchkreturnです。私はこれらの意味を知っていないか、もし私が何か他のものを見ていなければならないのか分からない。興味があるのは、チェックボックスの隣にドロップダウンリストがあり、そのために選択されたインデックスが起動されるということです。 – Nial

答えて

0

ASAP - > InitまたはInitCompleteのオン/オフを切り替えることを確認してください。

1

さて、私はMSDNのドキュメントでControl.ViewStateMode Propertyを見ています。

有料気をつけ:

ページのViewStateModeプロパティまたはコントロールがEnableViewStateプロパティがtrueに設定されている場合にのみ効果があります。 EnableViewStateプロパティがfalseに設定されている場合、ViewStateModeプロパティがEnabledに設定されていてもビューの状態はオフになります。 ViewStateのを処理するための

だから、正しい方法はあるに:

  • どこでも
  • ViewStateMode = "false" のマスターページ(デフォルト)= "true" のEnableViewStateを残します。この方法で、各派生ページに、制御はViewStateModeを継承し、HTML
  • で出力ビューステートを使用して、トレースを有効にしようとすると、ビューステートを見ることができますViewStateMode
+0

こんにちは。私は、EnableViewState = trueとし、ページのViewStateMode = disabledを無効にしてから、viewstatemodeのみを上書きします。とにかく、これはコードの問題だと思います。私は空のイベントでダミーのチェックボックスを作成し、それは動作します。 – Nial

関連する問題