2012-01-17 13 views
0

私のマスターページにコンテンツプレースホルダーがあり、私のページに別々のasp:パネル内に2つのラッドグリッドがあります。 ドロップダウン選択では、それぞれのグリッドがページにロードされます。viewstateを読み込めませんでした - コンテンツプレースホルダー

  1. 私は新しい行を追加]をクリックします
  2. ドロップダウンから、グリッド1を選択しますが、新しい行をキャンセルするか追加していけない(新しい行が開いたままにすることをしましょう)
  3. ドロップダウンから選択grid2は、グリッド負荷
  4. をしましょう
  5. は再びこの時点で、ドロップダウン

からGRID1を選択し、GRID1は開きますが、私はjavascriptのエラーを以下ます。

Microsoft JScript実行時エラー:Sys.WebForms.PageRequestManagerServerErrorException:viewstateの読み込みに失敗しました。ビューステートがロードされているコントロールツリーは、前の要求中にビューステートを保存するために使用されたコントロールツリーと一致する必要があります。たとえば、コントロールを動的に追加する場合、ポストバック中に追加されたコントロールは、最初の要求時に追加されたコントロールのタイプと位置と一致する必要があります。

問題についてご意見をお寄せください。 問題の可能性があるフォーラムを1つのコンテンツプレースホルダで同じタイプのコントロールを使用して読みました。ソリューション上の任意の提案???

+0

これに関する助力? – RMN

答えて

0

リビルド前に、両方のグリッドのコントロールをドロップダウン選択の変更でクリアしました。それは私の問題を解決しました。

radgrid1.Controls.Clear(); radgrid2.Controls.Clear();

0

あなたのコントロールがポストバック後もページに表示されていないようです。 Radグリッドを削除していますか、必要に応じて表示していますか? 動的に追加することもできます。これは私が思うRadgridsで問題を引き起こす可能性があります。

私は、ユーザーが新しい選択を行ったときに1つのグリッドを使用することをお勧めします。 グリッドがお互いに非常に異なる場合は、複数を追加してリストから選択すると表示されます(3つ以上のオプションがある場合はこれを行わないでください)。

+0

はい、列数と複雑さの違いから、2グリッドを使用しています.Elseでも1グリッドしか使用できませんでした。私はグリッドを可視にする= falseにしています。私のgrid1は、ドロップダウンのすべての異なる値に対してロードされていますが、grid2は1つの項目に対してのみ使用されています。 – RMN

1

同じコンテンツプレースホルダ内の同じ種類のコントロールは問題になりません。

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. 

これは、コントロールを動的に追加および削除するときに最も頻繁に発生します。 可視性を変更してもエラーにはなりません。

コードの一部が表示されているのがわかるかもしれません。

+0

コードはすべての場合において正常に動作しています。私はこのエラーが1つのグリッドが編集モードにあり、編集モードから出ることなく、私は他のグリッドを開き、最初に開いていたグリッドを再度ロードして編集モードになったときにのみ表示されます。 – RMN

+0

他に助けてもらえますか?そうでなければ、コードは問題を起こさず、すべての機能が完璧に機能します。グリッドが編集モードにあり、上記の手順を繰り返すときだけ、エラーが出ます。私はドロップダウン選択の変更でビューの状態をクリアしようとしましたが、まだ成功しません:( – RMN

+0

グリッドを変更する前に新しく追加された行を取り消そうとする可能性があります。 asp.netコントロール。 – nunespascal

関連する問題