2010-04-13 6 views
1

J'utilise MinifyJS.tt qui est un modèle T4 pour réduire automatiquement tous mes fichiers JS. Dans mes fichiers aspx, je fais référence à tous les fichiers javascript.Comment utiliser les directives du préprocesseur dans les pages MVC aspx

Maintenant, je veux ajouter une condition (peut-être une directive compilateur) pour utiliser le fichier JS d'origine lorsque je débogue l'application, et utiliser les fichiers JS minifiés lorsque je lance simplement l'application sans débogage. J'ai essayé d'utiliser #if dans la page ASPX, mais cela n'a pas semblé fonctionner. Pouvons-nous utiliser des directives de préprocesseur dans les pages aspx?

Existe-t-il un moyen alternatif d'atteindre mon objectif?

Répondre

2

Vous pouvez utiliser les éléments suivants:

if (!HttpContext.Current.IsDebuggingEnabled) 
    Script = OptimizeScript(Script); 

..... De plus il y a deux ou trois commentaires que discuter du sujet plus loin.

De Wilco Bauwer il commente que cette propriété encapsule le réglage web.config et ne prend pas le débogage de niveau de la page en compte et si vous voulez ....

bool isDebuggingEnabled = Assembly.GetExecutingAssembly().IsDefined(typeof(DebuggableAttribute)); 

.... ce est le kiddy pour y arriver !! Peter Bromberg (C# MVP) propose une autre solution en utilisant le fichier Global.asax.cs et un indicateur d'application globale statique défini dans l'événement Application_Start.

public static bool IsDebugMode = false; 
protected void Application_Start(object sender, EventArgs e) 
{ 
    if (System.Diagnostics.Debugger.IsAttached) IsDebugMode = true; 

Taken de Steves blog

+0

J'ai utilisé la dernière approche de Peter Bromberg et ajouté à la méthode AuthenticateRequest. Cela aide lorsque vous attachez le débogueur lorsque l'application est en cours d'exécution. Merci – Zuber

+0

Bon de savoir que ça vous a aidé :) – Bipul

Questions connexes