剃刀视图引擎,如何进入预处理器(#if debug)

我今天在写我的第一个剃须刀页面,不知道如何输入 #if debug #else #endif

如何在剃须刀中输入预处理器?


莫回无
浏览 426回答 3
3回答

素胚勾勒不出你

我刚刚创建了一个扩展方法:public static bool IsDebug(this HtmlHelper htmlHelper){#if DEBUG&nbsp; &nbsp; &nbsp; return true;#else&nbsp; &nbsp; &nbsp; return false;#endif}然后在我的视图中使用它,如下所示:<section id="sidebar">&nbsp; &nbsp; &nbsp;@Html.Partial("_Connect")&nbsp; &nbsp; &nbsp;@if (!Html.IsDebug())&nbsp; &nbsp; &nbsp;{&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;@Html.Partial("_Ads")&nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp;<hr />&nbsp; &nbsp; &nbsp;@RenderSection("Sidebar", required: false)</section>由于帮助程序是使用DEBUG / RELEASE符号进行编译的,因此它可以工作。

潇湘沐

默认情况下,不会编译MVC视图,因此#IF DEBUG无法在视图中工作。如果要编译视图以访问IF DEBUG配置,则需要:右键单击Visual Studio中的项目卸载项目编辑专案将以下属性从false更改为true<MvcBuildViews>true</MvcBuildViews>重新加载您的项目,然后将要编译视图。唯一的其他解决方法是在代码中包含一个函数public static Boolean DEBUG(this System.Web.Mvc.WebViewPage page){&nbsp; &nbsp;var value = false;&nbsp; &nbsp;#if(DEBUG)&nbsp; &nbsp; &nbsp; &nbsp;value=true;&nbsp; &nbsp;#endif&nbsp; &nbsp;return value;}然后从视图调用它:if(DEBUG()){&nbsp; //debug code here}else{&nbsp; //release code here}
打开App,查看更多内容
随时随地看视频慕课网APP