Имя "Сценарии" не существует в текущем контексте в 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.
Что мне делать?
Ответы
Ответ 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);