.Net MVC如何向各个视图添加脚本

时间:2015-11-28 16:15:31

标签: javascript c# asp.net asp.net-mvc razor

我想知道如果我使用包装器.cshtml文件,是否有办法将JavaScript文件添加到各个视图。

基本上我有一个名为_Layout的包装器cshtml文件,我用于所有前端视图。它基本上有<header>部分和我的标题/导航和页脚的HTML。它还包含对页脚后每页上所需的所有JavaScript文件的引用。

但是,在我的联系人视图中,我想使用另一个JavaScript文件,但我不想将其添加到包装器中,因为它会将其添加到每个视图中。

是否有使用条件语句将文件添加到包装器 - 即如果Contact视图然后引用联系人JS文件?

1 个答案:

答案 0 :(得分:6)

您可以使用Razor的section。它允许您在布局页面中创建“部分”,然后从视图页面添加它们。

您的布局页面中可能已经声明了“脚本”部分。如果没有,您只需在您的其他@RenderSection("Scripts", required: false)标记之后立即在布局中添加script即可。这将创建一个名为“Scripts”的部分,稍后我们将添加该部分。

然后,您可以通过在个人观看中添加以下内容来添加到该部分:

@section Scripts {
    <script type="text/javascript" src="..."></script>
}

您也可以使用其他元素执行此操作;您不仅限于脚本。您只需要在布局页面中添加另一个@RenderSection("SectionName", required: false)

您可能也有兴趣阅读Scott Gu的稍微过时的日期(2010)blog post on Layouts and Sections with Razor