私は一般的な質問があります。私のページにはいくつかの静かな「重い」UserControlがあり、それぞれがMultiView Viewに配置されています。 PageLoadでは、これらの各コントロールが初期化され、不要なデータベース呼び出しが発生します。私が望むのは、Viewが 'Active'に設定されているコントロールだけをロードすることです。今私は、データをバインドするかどうかを設定するために、これらのユーザーコントロールのそれぞれにpublic booleanプロパティを使用しますが、これを行う一般的な方法はありますか?ページロード時にUserControlsをロードしない最良の方法は何ですか?
3
A
答えて
0
これは、各コントロールは、データバインディングのためのメソッドを実装(あなたのソリューションと同様に)私はそれを行う方法
です。このメソッドは、表示されているビューが 'アクティブ'の場合にのみ呼び出されます。 (あなたが既にサーバサイドでやっているように)。 これらの各コントロールには、コードビハインドからHTMLをレンダリングするリテラルのみが含まれています。
私はまた、よりクリーンな方法を持ちたいと思いますが、コントロールはOnLoadなどのメソッドが呼び出されていても表示されません。私の知るところでは、このようなデータ結合操作を実行するか、またはプロパティの値を手動で設定する必要があります。
DataBindメソッドをオーバーライドしないでください。コントロール自体がVisibleプロパティをfalseに設定していても呼び出されるためです。 (これは私が覚えている方法ですが、確認するだけで確認できます)。よりクリーンな方法は、オーバーライドされたDataBindメソッドでプロパティをチェックし、trueに設定されている場合にのみデータバインドを実行することでしょうか。
0
実際にUserControls
が各ロード/ポストバックでASP.NET Page Life Cycle
に関与しないようにするには、必要なときに動的にロードします。
関連する問題
- 1. JSONを使用してASP.Netのusercontrolsをロードする最も良い方法は何ですか?
- 2. Javaでイメージをロードしてキャッシュする最良の方法は何ですか?
- 3. C#で.sysファイルをロードする最も良い方法は何ですか?
- 4. ページロードでjQueryの.slideを使用する最も良い方法は何ですか?
- 5. "コントローラ"クラスをロード/選択する最良の方法は何ですか
- 6. 静的なローカルデータをUITableViewにロードする最も良い方法
- 7. PHPで「時間」を正規化する最良の方法は何ですか?
- 8. 大量のSQLデータを.netでロードし、CSVファイルを生成する最も良い方法は何ですか?
- 9. サウンドをファイルにする最良の方法は何ですか?
- 10. コレクションをロックする最も良い方法は何ですか?
- 11. 日付と時刻を検証する最良の方法は何ですか
- 12. jQueryを学ぶ最も良い方法は何ですか?
- 13. Django 1.5を学ぶ最も良い方法は何ですか?
- 14. ブートストラップタブajaxページロード時のコンテンツをロードする
- 15. プロジェクトで最も良いバージョン管理方法は何ですか
- 16. 多くのオーバーレイをAndroidのMapViewにロードする最も良い方法は何ですか?
- 17. 何時間前の何かを得るためのMySQLの最良の方法は何ですか?
- 18. grailsでサービスを扱う最良の方法は何ですか
- 19. あなたのxunitテストがロードするテストケースを保存する最良の方法は何ですか?
- 20. オーバーライド可能なステートレスプロパティを表す最も良い方法は何ですか?
- 21. InputStreamを監視する最良の方法は何ですか?
- 22. .flaファイルをバッチコンパイルする最良の方法は何ですか?
- 23. RedirectToActionをテストする最良の方法は何ですか?
- 24. srand()をシードする最良の方法は何ですか?
- 25. 列挙をインクリメントする最良の方法は何ですか?
- 26. MVCリポジトリをテストする最良の方法は何ですか?
- 27. CSSを整理する最良の方法は何ですか?
- 28. データベースプロシージャをリファクタリングする最良の方法は何ですか?
- 29. GitHubを検索する最良の方法は何ですか?
- 30. javascriptをテストする最良の方法は何ですか?
パブリック関数 'DataBind'を提供し、ユーザーコントロールが表示されるときに、ページからのことを呼んでいます。一般的に、UserControlのPage_Loadでは何もしないでください。 –