我刚刚创建了一个ASP.NET MVC 4项目,使用Visual Studio 2012 RC创建了一个控制器和用于Index
和Create
操作的Razor视图。
当我运行应用程序并浏览到Create
视图时,出现了以下错误:
编译器错误消息:CS0103:当前上下文中不存在“Scripts”名称
问题在于自动添加到View底部的以下代码:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
为什么Scripts不存在?我查看了程序集System.Web.Mvc.dll,版本为v4.0.0.0中的基本Web页面类。
我可以看到以下可用的辅助属性:
- Ajax - Html - Url
但是没有名为Scripts的内容。
有任何想法吗?
编辑:我的Web.config文件如下(未经过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 将它添加到生成的视图中,但刚刚在全新的 Windows 8 安装中安装了 Visual Studio 2012 RC 后我仍然无法使用 @Scripts
!
以下是解决方案。
我不确定如何关闭这个问题,因为最后一个更新似乎解决了这个问题。我仔细检查了自己是否执行了干净的安装,使用了一个新项目。但是在各种更新和没有手动显而易见的干预之后,之前无法正常工作的项目现在可以正常工作了。感谢所有的想法,但当时肯定存在问题;)