[英]ASP.NET MVC View not rendering script tags properly
我有一个非常简单的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的已知问题,但是他们提供的解决方案似乎在这里并不适用。
您应该使用@Url.Content()
帮助器(toto,我们不再使用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")
要么将引用粘贴在捆绑包中,然后使用@Scripts.Render("~/bundlename")
或使用
<script src="@Url.Content("~/scripts/jquery-2.0.3.min.js")"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.