Tengo un símbolo de compilación condicional que estoy usando llamado "RELEASE", que indiqué en las propiedades de mi proyecto en Visual Studio. Quiero que se aplique CSS en particular a los elementos cuando se define el símbolo de LIBERACIÓN, y yo estaba tratando de hacerlo desde la vista, pero parece que no funciona.C# y ASP.NET MVC: Usando la directiva #if en una vista
Mi código de la vista se parece a esto (se ha reducido un poco para fines de demostración):
<% #if (RELEASE) %>
<div class="releaseBanner">Banner text here</div>
<% #else %>
<div class="debugBanner">Banner text here</div>
<% #endif %>
Con este código, y con el conjunto de símbolos LIBERACIÓN, el código 'otra cosa' está en marcha y me estoy poniendo un div con la clase debugBanner. Entonces, no parece pensar que se haya definido RELEASE. Vale la pena señalar que mi código de C# real en archivos .cs está reconociendo LIBERACIÓN y ejecuta el código correcto. Solo la vista me está dando el problema.
¿Alguien tiene alguna idea de esto? Cualquier ayuda sería apreciada. Gracias.
Aclaración: Debería haber mencionado que esta vista ya es una vista parcial, y simplemente la renderizaré en las páginas donde la necesite. Eso es porque estos banners estarán en ciertas páginas y no en otras. Así que incluso cuando se representa como una vista parcial a través de:
Html.RenderPartial("BannerView");
que no está funcionando.
¿Por qué no creas un método html helper y pones tu código allí? Puede hacer el si y hacer un render parcial para mantener el HTML – Rippo
No muy familiarizado con los métodos html helper. Aclaré mi pregunta para indicar que esta es una vista parcial con la que estoy trabajando. ¿Puedes explicar un poco sobre tu sugerencia? –
las directivas de preprocesador solo funcionan en tiempo de compilación ... @DeveloperArt tiene una solución elegante ... – xandercoded