1

可視性プロパティが true か false かに関係なく、カスタム コントロール (ascx) はレンダリングされますか。

一部のコントロールの可視性が false に設定されている場合、それらはレンダリングされないようですが、ascx コントロールをそれを含む aspx ページから非表示に設定すると、マークされているにもかかわらず、コードは ascx のコードバインドを介して実行されます。見えないように。

可視性が false とマークされている場合、ascx を強制的にレンダリングしないようにする方法はありますか?

この動作は正常ですか?

4

2 に答える 2

3

コントロールが表示されているかどうかに関係なく、コード ビハインドは常に実行されます。

コントロールがデフォルトで非表示になっているが、ページの実行中にコードによって表示される場合を考えてみましょう。コントロールが隠されているためにコンストラクターと Load イベントが抑制されると、適切に初期化されません。コントロールが可視化された瞬間にイベントが実行された場合、それらはページ サイクルで順不同で実行されます。

そのため、レンダリング時間になるとコントロールが表示される可能性があるため、ページ内のすべてのコントロールの背後にあるコードは常に実行する必要があります。

于 2009-10-30T20:10:10.090 に答える
3

可視性が false に設定されている場合、ascx は引き続きページのライフ サイクルを通過します。HTML は生成されないため、その点ではレンダリングされません。Load イベントは実行されますが、事前レンダリングはおそらく実行されません。

于 2009-10-30T20:12:14.267 に答える