Pec*_*tum 4 javascript c# asp.net asp.net-mvc razor
我想知道如果我使用包装.cshtml文件,是否有办法将JavaScript文件添加到各个视图.
基本上我有一个包装器cshtml文件_Layout,我正在使用我的所有前端视图.它基本上有<header>我的标题/导航和页脚的部分和HTML.它还包含对页脚后每页上所需的所有JavaScript文件的引用.
但是,在我的联系人视图中,我想使用另一个JavaScript文件,但我不想将其添加到包装器中,因为它会将其添加到每个视图中.
无论如何使用条件语句将文件添加到包装器 - 即如果Contact视图然后引用联系人JS文件?
你可以使用Razor's section.它允许您在布局页面中创建"部分",然后从视图页面添加它们.
您可能已在布局页面中声明了"脚本"部分.如果没有,您需要做的就是@RenderSection("Scripts", required: false)在您的其他script标签之后立即添加您的布局.这将创建一个名为"Scripts"的部分,稍后我们将添加该部分.
然后,您可以通过将以下内容添加到各个视图来添加到该部分:
@section Scripts {
<script type="text/javascript" src="..."></script>
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用其他元素执行此操作; 您不仅限于脚本.您只需要@RenderSection("SectionName", required: false)在布局页面中添加另一个.
您可能也有兴趣阅读Scott Gu的关于Layouts and Sections with Razor的稍微日期(2010年)的博客文章.