我刚刚创建了一个ASP。并使用Visual Studio 2012 RC为Index
和Create
动作创建了控制器视图和剃刀视图。
当我运行应用程序并浏览到Create
视图时,显示了以下错误:
编译器错误信息:CS0103:名称“脚本”不存在 当前上下文
问题是下面的代码被自动添加到视图的底部:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
为什么脚本不存在?
我查看了Assembly System.Web.Mvc.dll中的基本Web Page类,v4.0.0.0
我可以看到以下helper属性可用:
但是没有脚本。
什么好主意吗?
编辑:
我的网络。配置文件看起来是这样的(与Visual Studio创建的文件一样):
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
编辑# 2:
人们正在写关于使用@Scripts
帮助器的博客:
然而,刚刚将Visual Studio 2012 RC安装到新的Windows 8安装中,我仍然无法使用@Scripts
,即使Visual Studio将它添加到生成的视图中!
解决方案如下。
我不知道如何关闭这个,因为最后更新似乎解决了这个问题。我仔细检查了我是否使用一个新项目进行了一次干净的安装。但我之前做的那个失败的项目,经过多次更新,没有人工干预后,现在可以正常工作了。谢谢你的想法,但当时确实有一个问题;)