我有一个非常简单的MVC项目,在我的_Layout.cshtml中,我有一些js包含如下:
<script src="~/scripts/jquery-2.0.3.min.js"></script>
<script src="~/scripts/easing.js"></script>
<script src="~/scripts/bootstrap.js"></script>
然而,当它呈现时,它会在页面上呈现(注意第一个上的波浪号):
<script src="~/scripts/jquery-2.0.3.min.js"></script>
<script src="/scripts/easing.js"></script>
<script src="/scripts/bootstrap.js"></script>
我似乎无法正确渲染它,并且首先是哪个脚本标记无关紧要,这是它添加/保持波形符号的那个。我已经两次使用jquery脚本,第一个会有波形符,但第二个会被包括在内,但我根本不喜欢这个解决方案。
我正在使用VS 2012,它是一个.NET 4.5 MVC应用程序。从我的搜索来看,这似乎是Razor v1的一个已知问题,但他们提供的解决方案似乎并不适用于此。
答案 0 :(得分:2)
你应该使用@Url.Content()
帮助器(我们不再使用ASP.NET了,直到这里)。
<script src="@Url.Content("~/Scripts/jquery-2.0.3.min.js")"></script>
<!-- etc. -->
另一种选择是使用Microsoft.AspNet.Web.Optimization
包并创建包:
** BundleConfig.cs
public void RegisterBundles(BundleCollection bundles)
{
// ...
bundles.Add(new ScriptBundle("~/js/site").Include(
"~/Scripts/jquery-2.0.3.min.js",
"~/Scripts/easing.js",
"~/Scripts/bootstrap.js"
));
// ...
}
然后在您的页面中使用:
@Scripts.Render("~/js/site")
答案 1 :(得分:1)
将参考文献粘贴在一个包中并使用@Scripts.Render("~/bundlename")
或使用
<script src="@Url.Content("~/scripts/jquery-2.0.3.min.js")"></script>