2013-05-16 9 views
5

Ich bin hier auf einer Gurke über das Bündeln meiner CSS und Skripte zu meiner Web Forms-Anwendung.CSS und Skripts in der Web Forms-Anwendung koppeln

Zunächst einmal würde Ich mag darauf hinweisen, dass ich dieses Tutorial folgenden wurde: http://blogs.msdn.com/b/rickandy/archive/2012/08/14/adding-bundling-and-minification-to-web-forms.aspx

Ich habe bereits in der App_Start die Klasse BundleConfig die wie folgt aussieht:

using System.Web; 
using System.Web.Optimization; 

namespace SitePessoal.Web 
{ 
    public class BundleConfig 
    { 
     public static void RegisterBundles(BundleCollection bundles) 
     { 
      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
         "~/Scripts/jquery/core/jquery-{version}.js")); 

      bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
         "~/Scripts/jquery/core/jquery-ui-{version}.js")); 

      bundles.Add(new StyleBundle("~/CSS/css").Include(
         "~/CSS/Estilos.css", 
         "~/CSS/Print.css", 
         "~/CSS/Styles.css")); 
     } 
    } 
} 

Auch ich habe das Optimierungspaket mit Nugget heruntergeladen, so danach ich meine Datei Global.asax ging und versuchte, diese in der Application_Start Methode wie folgt zu registrieren:

void Application_Start(object sender, EventArgs e) 
{ 
    // Code that runs on application startup 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
    BundleTable.EnableOptimizations = true; 
} 

Leider funktionieren hier die Dinge nicht. Leider hält es die Klasse mit rot unterstrichen und gibt mir die folgenden Meldungen:

Error 3 The name 'BundleTable' does not exist in the current context 
Error 4 The name 'BundleTable' does not exist in the current context 
Error 2 The name 'BundleConfig' does not exist in the current context 

Irgendwelche Ideen, warum dies geschieht kann? Danke im Voraus!

Mit freundlichen Grüßen,
Mad

Antwort

4

Ich löste das Problem @MadGatsu begegnet nach dem gleichen Tutorial.

@Pricey korrekt ist, und% MadGatsu fügt richtig Verweise auf die Global.asax, einschließlich,

<%@ Import Namespace="System.Web.Optimization" %> 
<script RunAt="server">   
    void Application_Start(object sender, EventArgs e) 
    { 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 

Aber es ist ein wenig mehr zu bieten.

ich ableiten, bezogen auf den Mangel an Global.asax.cs, dass wir Websites haben. In diesem Fall müssen wir unsere Bundleconfig.cs Datei in den speziellen Aspnet-Ordner, App_Code. Fügen Sie keinen App_Start-Ordner hinzu, um die Datei zu enthalten, da dies nicht funktioniert. Einfach meine bewegenden BundleConfig.cs zu App_Code von App_Start korrigiert die ‚BundleConfig‘ existiert nicht im aktuellen Kontext Fehler.

+0

Werde diese Lösung versuchen und ich werde bald antworten. Prost! :) – MadGatsu

+0

In der Tat hat Ihre Lösung das Problem mit der Fehlermeldung "BundleConfig" behoben, die im aktuellen Kontext nicht existiert! Als Lösung gekennzeichnet. Vielen Dank! :) – MadGatsu

2

Sie wahrscheinlich schon festgelegt, sondern nur für den Fall, es ist von Nutzen für jeden .. Sie wahrscheinlich benötigen einen Verweis auf System.Web.Optimization und Ihre BundleConfig Klasse Namespace hinzufügen SitePessoal.Web zu Ihrem Global.asax.cs

Beispiel:

using System.Web.Optimization; 
using SitePessoal.Web; 

namespace SitePessoal.Web.Application 
{ 
    public class Global : HttpApplication 
    { 
     private void Application_Start(object sender, EventArgs e) 
     { 
       BundleConfig.RegisterBundles(BundleTable.Bundles); 
       BundleTable.EnableOptimizations = true; 
     } 
    } 
} 

Sie müssen wahrscheinlich auch die 012 hinzufügenNamespace zu Ihren Seiten in Ihrem web.config wenn Sie es nicht schon getan haben, weil es nicht genug ist, nur den Verweis auf das Paket über NuGet hinzuzufügen.

<pages> 
    <namespaces> 
     <add namespace="System.Web.Optimization"/> 
    </namespaces> 
</pages> 
+0

Hallo Teuer, danke für eine mögliche Antwort geben. In der Tat war dieses Thema noch offen, weil ich es überhaupt noch nicht gelöst habe.Ich werde Ihre Lösung versuchen und so schnell wie möglich Feedback geben (aka morgen!). Vielen Dank, ungeachtet des Ergebnisses. – MadGatsu

+0

Hallo Teuer, ich habe keine Zeit, dies bis jetzt zu testen. Sehr beschäftigt bei der Arbeit. Ich habe deine Lösung versucht, aber es funktioniert immer noch nicht. Ich habe eine Web-Site, keine Web-Anwendung, daher habe ich keine Globa.asax.cs-Klassendatei. Stattdessen habe ich auf die Global.asax dies: <% @ Import Namespace = "System.Web.Optimization" %> <% @ Import Namespace = "SitePessoal.Web" %> Aber es zeigt mir Fehler, BundleConfig existiert in diesem Kontext nicht. In der Datei web.config ist alles in Ordnung und die System.Optimization ist schon da. Noch mehr Ideen? Danke @Pricey. – MadGatsu

Verwandte Themen