下面的MVC4 Razor布局文件加载在Bundle 包中创建的几个脚本和cssBundle 包.配置.

<!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>

呈现页面时,会发生以下错误.由于某些原因,@Scripts和@Styles命令无法识别.如果我在文件中键入"@Scripts",IntelliSense不会显示/显示该命令.该项目确实引用了在Bundle.config中使用的System.Web.Optimization.

是什么导致@Scripts和@Styles命令无法识别?


"/"应用程序中出现服务器错误.

编译错误

描述:编译服务此请求所需的资源时出错.请查看以下特定错误详细信息,并适当修改源代码.

编译器错误消息:CS0103:当前上下文中不存在名称"Scripts"

源错误:

第4行: 第5行:xxx测试版 第6行:@Scripts.Render( 第7行:"~/bundles/Bundle_jQuery", 第8行:"~/bundles/Bundle_modizr",

源文件:C:\Users\用户名\Documents\Visual Studio 2010\Projects\XXX\Solution\xxx.website\Views\Shared_sidebarLayout.cshtml行:6

显示详细的编译器输出:

显示完整的编译源代码:

版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.272

推荐答案

确保项目中引用了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>

System.Web.Optimization.dll程序集包含在Microsoft.AspNet.Web.Optimization NuGet中,因此请确保它已安装在您的项目中(当您在Visual Studio中使用Internet模板创建新的ASP.NET MVC 4项目时,此NuGet会自动添加到项目中).

Asp.net相关问答推荐

在每个对象上设置 ClientIDMode = Static 是否有任何缺点(在母版页的 maincontent 上设置)

为什么微软决定支持 jQuery 如此重要?

为 Web 请求实现速率限制算法的最佳方法是什么?

取消选中时 ASP.NET CheckBox 不会触发 CheckedChanged 事件

判断会话是否为空

如何从以特定名称开头的 appsettings 键中获取所有值并将其传递给任何数组?

如何在页面的基类中执行 Page_Load()?

HttpContext.Current.Request.IsAuthenticated 和 HttpContext.Current.User.Identity.IsAuthenticated 有什么区别?

学习什么 - Ruby on Rails 或 ASP .NET MVC...鉴于熟悉 ASP .NET

System.Linq.Dynamic 不支持 OrderByDescending("someColumn")?

如何从 JS 访问 ViewBag

使用 ASPNet_Regiis 加密自定义配置部分 - 你能做到吗?

SimpleMembership 与 ASP.NET MVC 4 中的自定义数据库架构

如何从 ASP.Net 发布然后重定向到外部 URL?

System.Reflection.Assembly.LoadFile 锁定文件

删除 HTML 或 ASPX 扩展

ASP.NET 按钮重定向到另一个页面

如何解决我的 ASP.Net MVC 应用程序中的 iisreset 后发生的 AntiForgeryToken 异常?

Unity 中的单例每个调用上下文(Web 请求)

Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"].ToString() 有什么区别