1

私はMasterPageを持っており、ユーザーコントロールはdiv内にあります。

UserControlとそれを含むdivにvisible=falseを設定できますが、これは正常に機能します。ただし、UserControlのPage_Loadは常にヒットします。

これは仕様によるものですか、それともUserControlのPage_Loadメソッドに入るページの実行を停止する方法がありません。

4

2 に答える 2

1

UserControlをページに追加すると、ページが実行されるたびにインスタンス化され、Page.Controlsコレクションに追加されます。Visibleをfalseに設定すると、基本的にはコントロールのhtmlのレンダリングが短絡され、ページに表示されなくなります。

コントロールが「Page_Load」で実行する高価な操作がある場合は、その操作を回避するためにVisibleプロパティをキーオフします。

コントロールが作成されていない場合、どのようにしてそれを非表示にすることができますか?

于 2008-12-10T03:37:32.463 に答える
1

ユーザー コントロールの PageLoad イベント メソッドに入る実行を停止することはできません。

Visible プロパティを使用して、コード内で時間のかかる操作を実行するかどうかを判断するという @joshperry の提案は適切です。

もう 1 つのオプションは、OnPreRender イベント メソッドで時間のかかるオプションを完了することです。

于 2009-01-20T01:47:50.807 に答える