web-dev-qa-db-fra.com

Le nom 'Scripts' n'existe pas dans le contexte actuel de MVC

Dans mon application mvc, dans _Layout.cshtml, le code ci-dessous ...

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

Mais le problème est-il dit The name 'Scripts' does not exists in the current context.

J'ai déjà ajouté l'Assemblée à la référence et à la configuration du paquet comme using System.Web.Optimization;

Cela se produit pour @ styles aussi .. Que dois-je faire?

57
tarzanbappa

Assurez-vous que votre ~/Views/Web.Config ajoute le System.Web.Optimization espace de noms:

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

Ce qui suit en .chtml résout le problème

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

S'il vous plaît suivez mon étape effacer ce

Première

  • Installer Microsoft.AspNet.Web.Optimisation
  • Vérifiez que le dossier App_Start Contient un fichier BundleConfig.cs.
  • Ajouter <namespaces> <add namespace="System.Web.Optimization"/> </namespaces> Dans le fichier Views/web.config
  • Ajouter BundleConfig.RegisterBundles(BundleTable.Bundles); dans Global.asax.cs
  • Reconstruire et l'exécuter
12
Hackbal Teamz

Il y a toujours un problème intellisense, vous pouvez ajouter ce code à la méthode Application_Start () à l'intérieur du fichier global.asax.

BundleConfig.RegisterBundles(BundleTable.Bundles);
1
erakm