Conditional compilation does not work

Reading this post here in stackoverflow, you need to load another css at compilation for release mode.

The code:

@{ #if (Debug) 
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
#else
<link href="@Url.Content("~/Content/Site-min.css")" rel="stylesheet" type="text/css" />
#endif 
}

Attempt 2

@{ #if (Debug) }
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
@{ #else }
<link href="@Url.Content("~/Content/Site-min.css")" rel="stylesheet" type="text/css" />
@{ #endif  }

I tried DEBUG in uppercase But no change has any effect when compiling debug for release

+5
source share
1 answer

SO, , , View, # boolean (IsDebug - ) , View .

, - :

bool IsDebug = true;

#if (!DEBUG)
IsDebug = false;
#endif

- :

@if(Model.IsDebug) 
{ 
}
else
{
}

ViewBag/ViewData , .


UPDATE:

, :

BaseController, Controller.

public abstract class BaseController : Controller
{
   ...
   protected BaseController()
   {
      bool indebug = false;

      #if DEBUG
      indebug = true;
      #endif

      ViewBag.InDebug = indebug;
   }
}

, Controller.

_Layout.cshtml :

@if (ViewBag.InDebug)
{
}
else
{
}

, .

+7

All Articles