1
我使用asp.net mvc3構建我的網站,佈局是2列,帶有側邊欄的主要內容。asp.net mvc3,如何正確實現側邊欄?
我爲邊欄創建了一個部分。這個側邊欄將顯示前10篇文章。我現在所做的是查詢每個控制器上的前10篇文章。
有沒有辦法在一個地方做到這一點,並在所有控制器上使用它?
我使用asp.net mvc3構建我的網站,佈局是2列,帶有側邊欄的主要內容。asp.net mvc3,如何正確實現側邊欄?
我爲邊欄創建了一個部分。這個側邊欄將顯示前10篇文章。我現在所做的是查詢每個控制器上的前10篇文章。
有沒有辦法在一個地方做到這一點,並在所有控制器上使用它?
您可以使用Html.RenderAction([methodname], [controllername])
來做到這一點。因此,在您_Layout.cshtml,你可能最終的東西,如:在你的ArticleController
<div id="content">
@RenderBody()
</div>
@{ Html.RenderAction("ShowTopArticles", "Article"); }
然後:
private readonly int MaxArticles = 10;
[ChildActionOnly]
public PartialViewResult ShowTopArticles()
{
var model = articleRepository.GetTopArticles(MaxArticles);
return PartialView(model);
}
標記的動作與屬性ChildActionOnly
意味着它只能通過調用來調用到Html.Action()
或Html.RenderAction()
。
非常感謝你,這是我正在尋找的。 – qinking126
@feelexit不客氣! –