3

昨日、ASP.NETのViewStateに関する非常に優れた記事を読みました。

現在、プロジェクトでのテスト容易性を向上させるためにWebFormsMVPを使用しています。フレームワークはOnInitCompleteでプレゼンターバインディングを実行し、DataBind式に大きく依存します。

<asp:Label Text="<%#Model.FirstName%>" runat="server" /> 

上記の記事を理解しているように、これによりModel.FirstNameがViewStateに配置されます。ビューステートトラッキングがすでに有効になっている場合、データバインディングはページライフサイクルの後半に発生するためです。

1つのオプションは、ViewStateを完全に無効にすることです。他にありますか?OnLoadはプレゼンターが処理できる最初のイベントであるため、OnInitまたはOnInitCompleteを使用することはできません。

また、例としてラベルを使用したことも覚えておいてください。複雑なコントロールでも機能するソリューションを探しています。

ありがとう。

4

1 に答える 1

2

質問とリンクされた記事を読み直した後、最善の解決策は、記事で提案されている独自のカスタム コントロール セットを作成することだと思います。そうすれば、コントロールのライフサイクルの早い段階で値を取得し、viewstate の注入を減らすことができます。

非常に良い記事です。投稿していただきありがとうございます。

于 2010-10-24T03:20:58.177 に答える