17

UserControl 内でホストされている ASP.NET フォームで HTTP POST を実行した後、次のエラー メッセージが表示されます。

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

追加情報は次のとおりです。

  • .NET 4.5 RC を実行しています
  • Umbraco 4.7 ベースの Web サイトです。
  • 私のローカル開発マシンでは、フォームは完全に機能します
  • このエラーは、.NET 4.5 (のみ)、MSSQL 2012 Express、IIS 7.5、Windows 7 を備えたステージング サーバーでのみ発生します (私は知っていますが、これはまだ実際のサーバーではありません。いつの日か...)
  • サーバーは Web ファームの一部ではありません (または庭、無関係である必要があります)。
  • ユーザーコントロールコントロールを動的にレンダリングします

最新のサービス パックをすべて適用しました。もうアイデアが尽きた!私はそれを再起動し、歌と特別なダンスを含むサーバー上でリッチチュアルを実行しましたが、役に立ちませんでした.

4

12 に答える 12

26

コントロールを動的に追加する場合に重要なのは、どのイベントに追加するかです。

ロード後に発生するイベントにコントロールを追加した場合、それらはクライアントに送信するビューステートの一部になります。

LoadViewStateが呼び出される前に、これらのコントロールを再度追加する必要があります。

ViewState追加するコントロールの決定自体がまたはコントロールの値に格納されている場合に遭遇した場合は、ViewStateがロードされる前であっても、このデータはRequest.Params

asp.netページのライフサイクルを参照してください

ページのライフサイクル

于 2012-08-03T12:52:18.870 に答える
21

EnableViewState="false"ページのプレースホルダーに追加したところ、なくなりました。それがあなたにとってもうまくいくことを願っています。

于 2013-04-17T06:02:21.613 に答える
1

答えは文字通り、「最後のサーバーとまったく同じソフトウェアを使用して新しいサーバーをセットアップし、もう一度やり直してください」であり、現在は機能しています。

于 2012-08-03T15:41:11.583 に答える
1

同じ問題がありました。この問題はクライアント側で発生しましたが、ローカル システムでは発生しませんでした。何時間ものグーグル検索の後、すべての動的コントロールを含む aspx ページのテーブル タグに EnableViewState="false" を書き込んでから、すべてのビューステート変数を削除し、代わりに aspx ページにいくつかの非表示のテキスト ボックスを作成し、DB 値を受け入れました。それらをコードビハインドで使用し、コード全体で使用しました。その後、私の問題を解決しました。しかし、それでも、何が問題なのか正確にはわかりませんでした。

于 2016-09-02T01:39:25.300 に答える
0

ページ読み込みイベントに直接コントロールのバインディング メソッドがあるかどうかを確認します。これにより、この問題が発生する可能性があります。

于 2015-11-19T08:08:25.333 に答える
0

私の場合、(OnPageIndexChanging) イベントを含むグリッド ビューがあり、ページをクリックしても、2 回クリックするまで何も起こりません!

新しいページ インデックスを設定する前に、データ ソースを更新していました。


これは私が間違っていたことです

grd.DataSource = data;
grd.DataBind();
grd.PageIndex = e.NewPageIndex;

これが正しい方法です

grd.PageIndex = e.NewPageIndex;
grd.DataSource = data;
grd.DataBind();
于 2016-06-12T08:08:40.257 に答える
0

SaveViewStateこれは、コントロールでオーバーライドしてもオーバーライドしない場合に発生する可能性がありますLoadViewState

于 2016-10-05T12:18:22.557 に答える