0

現在のプロジェクトの 1 つの非常に特殊なシナリオで、非常に標準的な Viewstate エラーを受け取りました。

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

私の問題は、これが顧客主導のフォームデザイナーであり、すべてのコントロールが動的であり、フォームに多くのスキップロジックがあるため、ほとんどのコントロールが常に表示されず、トグルのように見えることです.問題を引き起こしているこの可視性。ただし、非常に特殊なパターンの 1 つだけです。単純なフォームで問題を再作成したり、正しく再レンダリングされていない特定のコントロールを追跡したりする運がないためです。次に、これを理解する確実な方法は、ポストバックごとにページの下部にコントロール ツリー全体を表示することだと考えました。次に、エラーの前後でツリーを比較し、何が変化しているかを確認できます。しかし、これを行う方法がわかりません。

4

1 に答える 1

0

Page タグの Trace 属性が必要でした。

<%@ Page Trace="true" %>

http://msdn.microsoft.com/en-US/library/kthye016%28v=vs.80%29

于 2012-05-22T15:25:07.863 に答える