ASP .NETラベルは、ローカライズ時に渡されるViewStateの重みに追加されますか?
質問
現在、ASP .NETアプリケーションのローカライズプロジェクトに取り組んでいます。現在、複数のビューがあり、各タブに大量のデータが含まれる約9つのタブを持つ大規模なページがあります。テキストを簡単にローカライズできるように、ASPXページに多くのタグを付けました。ラベルの量がビューステートのサイズに大きな影響を与えるかどうか疑問に思っていましたか?またはページのパフォーマンス。
別のテキスト(こちら)を読んで、単一のasp:ラベルには、少なくとも52バイトのデータが含まれます。したがって、ラベルコントロールがたくさんある場合、追加の未使用データがやり取りされます。ラベルだけの場合、なぜ52バイトのビューステートが必要なのか疑問に思っていました。また、Microsoftの組み込み機能以外に、ASP .NETでローカライズを行う他のアプローチがあります。
解決
ポストバック間で変更がない場合、<asp:Label>
Text
プロパティはViewState
に保持されません。 SaveViewState()
コントロールに対して生成されたEnableViewState
は、コントロールでfalse
が呼び出されたときにラベルのControlStateによって生成されるデータです。
明確にする-<=>はページの変更を追跡します。 <=>のテキストがaspxマークアップ(またはコードビハインド)で設定され、変更されない場合、ViewStateのサイズは変更されません(Labelコントロールの<=>には、関連するデータは含まれません) <=>プロパティ)。この状況では、ラベルのViewStateにデータがまったく入らないように、<=>を<=>に設定する傾向があります。
を読むことをお勧めします。詳細については、Truly UnderStanding ViewState を参照してください。