在MVC 3渲染/局部视图中包含脚本和css的最佳方法

时间:2011-12-10 01:38:41

标签: asp.net-mvc-3 design-patterns partial-views

在Asp.Net MVC3项目中工作,使用剃须刀引擎,我发现了一种我不知道如何处理的情况。 在一种观点中,我有以下情况:

@foreach (var item in Model.Items) { 
   Html.RenderAction("ActionName", new {param = item});
}

我认为这是一种非常典型的情况。

现在让我们说渲染的html部分需要一些javascript文件才能正常工作,而且也需要css。而且我也希望这个动作的partialView也可以在其他视图中使用一次或多次。

问题是:哪里是引用外部js和css的最佳位置?我会在PartialView中说...但是我可以避免调用n次RenderAction,不会在页面上放置n次相同的脚本声明吗? 而且,说重复js和css的问题解决了,我应该如何将这个外部资源与视图绑定?通常在我的视图中,我将外部资源放在专用部分中,出于性能原因,布局页面将在页面底部呈现。我应该对partialView做同样的事情,假设调用它的视图可以访问 scripts部分吗?但是通过这种方式,我将可重用的partialView的设计绑定到托管视图结构:如果是这样,我不应该在托管视图中声明脚本和css吗?

我对MVC很陌生,我想知道你用哪种方法来解决这个设计问题。

1 个答案:

答案 0 :(得分:0)

我通常会尝试弄清楚我是需要几页还是一页的css或js文件。例如,我在layout.cshtml中包含jquery文件,只是为了确保项目中的每个视图,与主css文件相同。然后te文件,我只需要特定的视图我只包括在主视图中的那些,当然所有部分到该视图也将具有它。如果您在partial中放置一个引用并多次调用它,您将有多个引用。你可以把你的引用放在foreach循环的正上方,所有的部分都可以访问它。