Ho un simbolo di compilazione condizionale che sto usando chiamato "RELEASE", che ho indicato nelle proprietà del mio progetto in Visual Studio. Voglio che alcuni particolari CSS vengano applicati agli elementi quando il simbolo RELEASE è definito, e stavo cercando di farlo dalla vista, ma non sembra funzionare.C# e ASP.NET MVC: utilizzo della direttiva #if in una vista
Il mio codice vista si presenta così (accorciato un po 'per scopi dimostrativi):
<% #if (RELEASE) %>
<div class="releaseBanner">Banner text here</div>
<% #else %>
<div class="debugBanner">Banner text here</div>
<% #endif %>
Con questo codice, e con il set di simboli RELEASE, il codice 'altro' è in esecuzione e sto ottenendo un div con la classe debugBanner. Quindi non sembra pensare che RELEASE sia definito. Vale la pena notare che il mio codice C# nei file .cs sta riconoscendo RELEASE ed esegue il codice corretto. È solo la vista che mi sta dando il problema.
Qualcuno ha qualche idea in questo? Qualsiasi aiuto sarebbe apprezzato. Grazie.
Chiarimento: Avrei dovuto dire che questa vista è già una vista parziale e la renderò semplicemente nelle pagine in cui ho bisogno. Questo perché questi banner saranno su determinate pagine e non su altri. Così, anche quando il rendering come una vista parziale tramite:
Html.RenderPartial("BannerView");
non funziona.
Perché non si crea un metodo di supporto html e si inserisce il codice? È quindi possibile eseguire if e eseguire un rendering parziale per mantenere l'HTML – Rippo
Non troppo familiare con i metodi helper html. Ho chiarito la mia domanda per indicare che questa è una visione parziale con cui sto lavorando. Puoi approfondire un po 'il tuo suggerimento? –
le direttive del preprocessore funzionano solo @ compile-time ... @DeveloperArt ha una soluzione elegante ... – xandercoded