1

私たちは Web コンテンツ管理システムを持っています (Sharepoint 2007/MOSS に基づいていますが、この問題の目的には関係ありません。MOSS に取り組んでいない場合でも、そのままにしておいてください!)。特定のページには、変更できない条件があります。

  • 編集者が [編集] をクリックすると、ページがポストバックされます。
  • 編集モードでリロードすると、コントロール ツリーはまったく異なります。
  • 編集コントロールは頻繁にポスト バックされるため、ViewState は編集モードで有効にする必要があります。

プレゼンテーション モードで ViewState を無効にすると、すべて正常に動作します。編集ポストバックで ViewState が「有効」に設定され、編集コントロールが生成されると ViewState ツリーが初めて構築され、すべて問題ありません。

プレゼンテーション モードで ViewState を有効にすると、プレゼンテーションから編集に移行するときに、コントロール ツリーが変更されるため、ViewState エラーが発生します。

プレゼンテーション モードで ViewState を有効にする必要があるため、この遷移エラーを修正する必要があります。

ポストバック中に ViewState を無効にしてから、プログラムで再度ポストバックして再度有効にしようとしましたが、これにより MOSS で検証の問題が発生するため、オプションではないようです。

アイデア?

4

2 に答える 2

1

プロパティ バッグで clear メソッドを試しましたか ;-)

于 2009-02-09T16:32:19.860 に答える
0

高度な情報を使用してコントロール ツリーを変更していますか? 通常、ポストバックでは、ボタンのイベント ハンドラーが起動する前に同じコントロール ツリーを再構築し (ビュー ステートはこの時点で検証する必要があります)、イベントを処理します。これには、コントロール ツリーの前の部分の消去が含まれる場合があります。

于 2009-02-09T15:11:38.417 に答える