Wie füge ich ein script-bundle bedingt?
Habe ich eine javascript-bundle, das möchte ich nur zählen bei der Prüfung, nicht, Wann der code in die Produktion bereitgestellt wird.
Habe ich eine Eigenschaft namens IsEnabledTestingFeatures
. In der BundleConfig.cs-Datei, die ich wie so:
if(Properties.Settings.Default.IsEnabledTestingFeatures) {
bundles.Add(new ScriptBundle("~/bundles/testing").Include("~/Scripts/set-date.js"));
}
Diese korrekt funktioniert.
Nun, ich will mich nur gehören das Bündel in meine Seite, wenn diese Eigenschaft auf true gesetzt ist.
Ich habe Folgendes versucht, aber der compiler beschwert sich, dass es nicht finden können, die Default
namespace:
@{
if( [PROJECT NAMESPACE].Properties.Default.IsEnabledTestingFeatures)
{
@Scripts.Render("~/bundles/testing")
}
}
Habe ich versucht zu finden, wie Sie auf die Scripts.Render
Funktionen aus dem Controller selbst, aber waren erfolglos.
Stell ich lieber das bundle in der Ansicht selbst, sondern wird sich, indem es über den Controller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
ViewBag
sollte nicht notwendig sein...Mit
appSettings
aus web.config Sie nicht neu kompilieren zu müssen für die Prüfung und setzt es leicht.View oder die Layout -
Und ich würde definieren
"~/bundles/testing"
imBundleConfig
unabhängig von der Prüfung Zustand, es sei denn, Sie möchten, zu bündeln und diese mit anderen Skripten.Wenn Sie zugewiesen
Properties.Default.IsEnabledTestingFeatures
aus AppSettings dann die Wurzel des Problems ist, wie Sie realisiert Ihre Eigenschaften.Bis, hoffentlich, eine alternative [gelesen: besser] - Lösung wird vorgeschlagen, die ich umgesetzt haben Sie es mit ViewBag.
BundleConfig.cs
Controller
Ansicht
Einige Hinweise:
Habe ich nicht implementieren, das über eine property im ViewModel durch diese
Eigenschaft/feature, unabhängig von den angezeigten Daten. Es
schien falsch zu assoziieren diese Bedingung mit individuellen Daten
Modelle, wie es ein site-wide-Funktion.
Ich verwendet, application-level-Einstellungen, da wird es leichter sein, um diese Eigenschaft zu konfigurieren, die auf ein pro-Umwelt-aufgrund der Tatsache, dass wir nutzen web verwandelt. Damit jede Umgebung kann diese Eigenschaft einstellen, wie gebraucht.