我刚刚创建了一个ASP.NET MVC 4项目,并使用Visual Studio 2012 RC创建了Controller和Razor Views for Index
and Create
Actions。
当我开始运行应用程序并浏览到Create
视图时,显示以下错误:
编译器错误消息:CS0103:当前上下文中不存在名称“脚本”
问题是以下代码自动添加到视图的底部:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
为什么脚本不存在?
我查看了Assembly System.Web.Mvc.dll v4.0.0.0中的基本Web页面类
我可以看到以下可用的助手属性:
- 阿贾克斯
- HTML
- 网址
但是没有什么叫脚本。
有任何想法吗?
编辑:
我的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
助手:
@Scripts
即使将Visual Studio 2012 RC安装到全新的Windows 8安装上,即使Visual Studio将其添加到生成的View中,我仍然无法使用!
解决方案如下。
我不确定如何结束此操作,因为最后通过更新似乎可以解决该问题。我再次检查了是否使用新项目执行了全新安装。但是,在进行了各种更新并且没有人工的明显干预之后,我所做的同样失败的项目现在可以正常工作。感谢您的所有想法,但当时肯定有问题;)
<system.web.webPages.razor> <pages pageBaseType=""> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> etc... </pages>