レイアウトにナビゲーションバーが定義されたサイトがあります。ナビゲーションバーはサイトのいくつかのビューで使用され、データベース内の2つのクエリから生成された動的コンテンツがいくつかあります。ASP.NET MVC:Html.PartialまたはHtml.Actionを使用しますか?
私はこのメニューをレンダリングするベストプラクティス(部分的なビューで定義されている)が何であるか疑問に思っています。
私の知る限り、私はそれぞれのためのいくつかの長所と短所を、二つの方法でそれを行うことができます知っている:Html.Actionを使用して
: +それはレイアウト を使用しているビューから完全に独立します - これは、ページのセクションをレンダリングする追加のリクエストを追加します。 - Ajaxから呼び出されない部分ビューを返すActionメソッドを追加しています。 - それぞれのビューモデルは、私はいくつかのシナリオを持っているので、私はこれについてあなたの洞察力を本当に感謝ナビゲーションバー
に必要な情報が含まれている必要があり +ビュー全体 をレンダリングするための単純な要求:Html.Partialを使用して
私のサイトにこのようなものがあり、どちらが最善かわからない。
ありがとうございます!
HTTP要求を1回だけ実行するのは当然ですが、アクションをレンダリングするオーバーヘッドが部分的なレンダリングのオーバヘッドを上回ることも事実です。 –
@ NathanTaylor、それは本当です。部分的なレンダリングを超えるオーバーヘッドがあります。しかし、このオーバヘッドはsooooooooooooooooあなたが単にそれを受け入れる必要があります子どもの行動を使用してから得るすべての利点に比べて無視できるです。私はあなたが懸念の分離を得ることを意味する、あなたはきれいなコードを取得する、あなたは、これは、ええ、Html.Actionを使用して部分的にレンダリングのパフォーマンスでexeedされるキャッシュを取得します。 –
私は確かに同意しない、私はちょうど事実を強調表示しています。 Html.Action FTW。 –