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不客气! –