2012-02-17 13 views
1

かなり複雑なシステムをデバッグしていますが、私はコードを作成しませんでした。ビューステートがロードされ、作品の方法で前のリクエスト中にコントロールツリーがviewstateと一致しません

Exception: 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. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. 

イム非常に精通していない:ポストに戻って、私はこのエラーを取得します。コードには、いくつかのグリッドビューを構築し、これに似たようなdynamicaly制御し、

例外を作成するコードphCallsDynamicGridHolderと呼ばれるプレースホルダに挿入し、常に次のとおりです。

HtmlGenericControl summary = createNewCallsSummary(calls); 
GridView gv = createGridView(calls, "Calls", width); 
phCallsDynamicGridHolder.Controls.Add(summary); 
phCallsDynamicGridHolder.Controls.Add(gv); 
phCallsDynamicGridHolder.Controls.Add(createNewCallsTotalSummary()); 

が引き起こすものに精通している誰もがですがこの種の例外?ページはほぼ2000行のコードで、私は必要に応じて必要に応じて過去のものを使います。

+0

[ビューステートの読み込みに失敗しました。ビューステートがロードされているコントロールツリー](http://stackoverflow.com/questions/11795994/failed-to-load-viewstate-the-control-tree-into-which-viewstate-is-being-loaded) –

答えて

0

精神的にデバッグすると、私はでその動的制御の作成を行っていると思います。リクエストです。次の範囲内でその動的コントロールの作成を行うようにコードを変更してみるとよいでしょう:

if (!IsPostBack) 
{ 
    // here 
} 
+0

いいえ。それはPage_Loadでトリガされません。 – Lautaro

0

このページのViewStateを無効にしてみてください。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" #####.aspx.cs" Inherits="#####" EnableViewState="false"%> 
関連する問題