私は、ビューにはコードが含まれてはいけませんが、作業中のプロジェクトではビューに多くのロジックがあることを認識しています。ASP.NET MVCの部分ビューからロジックを削除する
マイホームページでは、私はこのようなロジックのaweful多くを持っている部分図に今
<% Html.RenderPartial("SearchResults"); %>
を持っています。
<div id="RestaurantsList">
<%if (Model.restaurantsList.Count() > 0)
{
foreach (var item in Model.restaurantsList)
{ %>
<% Html.RenderPartial("SearchResult", item); %>
<%
} %>
<%
}
else
{
Html.RenderPartial("NoResults");
} %>
今私は、ホームコントローラが空であることのリストに基づいて別のビューを返すようでしたが、私は本当にIndexビューとして私がしたいいくつかのことは関係なく表示されていることを望んでいません結果があるかどうか。
ここで私が考えることができるのは、Html.SearchResultsのようなヘルパーメソッドでこれをカプセル化することだけです。しかし、私はヘルパがそれぞれの検索結果のためにrenderPartialを呼び出す必要があります。それは懸念のきれいな分離のようには見えません。
私はまだ部分的なビューで最初のifステートメントを持っている必要があります。
これはどうやって処理しますか?
+1この場合、ベストプラクティスが何であるか常に疑問に思っています。 –