Chr*_*isP 41 asp.net asp.net-mvc razor asp.net-mvc-4
以下MVC4 Razor布局文件加载在Bundle.config中创建的多个脚本和css包.
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<title>XXX Beta</title>
@Scripts.Render(
"~/bundles/bundle_jquery",
"~/bundles/bundle_modernizr",
"~/bundles/bundle_foundation",
"~/bundles/bundle_jhs")
@Styles.Render(
"~/Content/bundle_foundation",
"~/Content/bundle_jhs")
@RenderSection("pageHeadContent", false)
</head>
<body>
<div id="bodyContainer">
@Html.Partial("Partial/_header")
<div id="contentContainer">
<div id="mainContentContainer">
<div id="sidebarContainer">
@RenderSection("sidebarContent", required: true)
</div>
@RenderBody()
</div>
<div class="clearBoth">
</div>
</div>
@Html.Partial("Partial/_footer")
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
呈现页面时,会发生以下错误.由于某种原因,无法识别@Scripts和@Styles命令.如果我在文件中键入"@Scripts",则Intellisense不会显示/显示命令.该项目确实引用了Bundle.config中使用的System.Web.Optimization.
什么可能导致@Scripts和@Styles命令无法被识别?
'/'应用程序中的服务器错误.
编译错误
描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.
编译器错误消息:CS0103:当前上下文中不存在名称"脚本"
来源错误:
第4行:第5行:XXX Beta第6行:@ Scripts.Render(第7行:"〜/ bundles/bundle_jquery",第8行:"〜/ bundles/bundle_modernizr",
源文件:c:\ Users\username\Documents\Visual Studio 2010\Projects\XXX\Solution\xxx.website\Views\Shared_sidebarLayout.cshtml行:6
显示详细的编译器输出:
显示完整编译源:
Dar*_*rov 126
确保System.Web.Optimization.dll
项目中已引用程序集,并且已将<add namespace="System.Web.Optimization"/>
命名空间添加到~/Views/web.config
文件(而不是~/web.config
文件):
<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.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)
该System.Web.Optimization.dll
组件包含内Microsoft.AspNet.Web.Optimization
的NuGet,所以一定要确保它安装在你的项目(当你创建一个使用互联网的模板此的NuGet被自动添加到项目在Visual Studio中的一个新的ASP.NET MVC 4项目).