J'ai une page MVC ASP avec le code suivant:charge une base de fichier JS particulier sur ce que l'URL de son hébergé
<script type="text/javascript" src="https://TEST_DOMAIN.com/test.js"> </script>
@*<script type="text/javascript" src="https://LIVE_DOMAIN.com/Live.js"> </script>*@
Essentiellement, je commenter ou décommenter le script que je veux utiliser si le site est en direct ou si c'est sur Test. J'adorerais être capable de faire cela de façon dynamique. Une solution, peut-être, est de savoir si elle pourrait lire l'URL actuelle et déterminer si elle est Live/Test.
mis à jour avec réponse (merci Whipdancer)
dans web.config J'ai ajouté l'url:
<add key="BundleJS" value="https://TEST_DOMAIN.com/test.js" />
<!--<add key="BundleJS" value="https://LIVE_DOMAIN.com/Live.js" />
Je vais examiner les transformations web.config suivant. Mais c'est beaucoup mieux que ce que j'avais avant.
La prochaine étape a été au cours Session_Start dans le fichier Global.asax.cs je mis l'URL à une variable d'application:
Application["BundleJS"] = System.Configuration.ConfigurationManager.AppSettings["BundleJS"];
Après cela, j'a été mis été en mesure d'aller au contrôleur de la vue (Astuce: dans mon cas, la vue était une mise en page, donc je suis allé au contrôleur parent). Ou après la méthode ActionResult j'ai ajouté la variable d'application au ViewBag
ViewBag.BundleJS = HttpContext.Application["BundleJS"];
Enfin dans la page cshtml (qui était _layout pour moi) je mets le script en
<script type="text/javascript" src="@ViewBag.BundleJS"> </script>
Cela ne ressemble pas à la vanille HTML. Quelles sont ces choses '@ *'? Quel cadre utilisez-vous? – birdoftheday
That's Razor de ASP MVC –
Vous devez configurer des environnements séparés tous ensemble et utiliser des variables d'environnement –