如何在MVC aspx页面中使用预处理程序指令

时间:2010-04-13 09:06:13

标签: c# asp.net-mvc c-preprocessor

我正在使用MinifyJS.tt这是一个T4模板,可以自动缩小我的所有JS文件。 在我的aspx文件中,我引用了所有的javascript文件。

现在,我想添加一个条件(可能是编译器指令)来在我调试应用程序时使用原始JS文件,并在我只是在没有调试的情况下运行应用程序时使用缩小的JS文件。 我尝试在aspx页面中使用#if,但这似乎不起作用。

我们可以在aspx页面中使用预处理程序指令吗? 有没有其他方法可以实现我的目标?

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

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

此外.....还有一些评论,而不是进一步讨论这个话题。

来自Wilco Bauwer他评论说这个属性封装了web.config设置,并没有将页面级调试考虑在内,如果你想要....

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

....这是实现它的小伙子!!

和Peter Bromberg(C#MVP)使用Global.asax.cs文件和Application_Start事件中设置的静态全局应用程序标志提供了另一种解决方案。

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

取自Steves blog