Подтвердить что ты не робот

Имя "Сценарии" не существует в текущем контексте в MVC

В моем приложении mvc в _Layout.cshtml есть код ниже...

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

</head>

Но проблема в том, что она говорит The name 'Scripts' does not exists in the current context.

Я уже добавил сборку в ссылку и в конфигурацию Bundle как using System.Web.Optimization;

Это происходит и для @styles. Что мне делать?

4b9b3361

Ответ 1

Убедитесь, что ваш ~/Views/Web.Config добавляет пространство имен System.Web.Optimization:

<system.web.webPages.razor>
    <pages>
      <namespaces>
        <add namespace="System.Web.Optimization"/>
      </namespaces>
    </pages>
</system.web.webPages.razor>

Ответ 2

Пожалуйста, следуйте моему шагу, очистите это

Первая

  • Установить Microsoft.AspNet.Web.Optimisation
  • Убедитесь, что папка App_Start содержит файл BundleConfig.cs.
  • Добавить <namespaces> <add namespace="System.Web.Optimization"/> </namespaces> в Views/web.config Файл
  • Добавить BundleConfig.RegisterBundles(BundleTable.Bundles); в Global.asax.cs
  • Перестроить и запустить

Ответ 3

Ниже в .chtml решается проблема

@using System.Web.Optimization
@Scripts.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")

Ответ 4

Есть еще проблема intellisense, вы можете добавить этот код к методу Application_Start(), который находится внутри файла global.asax.

BundleConfig.RegisterBundles(BundleTable.Bundles);