为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2019-10-25 11:12:45
我今天在写我的第一个剃须刀页面,不知道如何输入 #if debug #else #endif如何在剃须刀中输入预处理器?
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

我刚刚创建了一个扩展方法:


public static bool IsDebug(this HtmlHelper htmlHelper)

{

#if DEBUG

      return true;

#else

      return false;

#endif

}

然后在我的视图中使用它,如下所示:


<section id="sidebar">

     @Html.Partial("_Connect")

     @if (!Html.IsDebug())

     { 

         @Html.Partial("_Ads")

     }

     <hr />

     @RenderSection("Sidebar", required: false)

</section>

由于帮助程序是使用DEBUG / RELEASE符号进行编译的,因此它可以工作。


查看完整回答
反对 回复 2019-10-25
?
潇湘沐

TA贡献1816条经验 获得超6个赞

默认情况下,不会编译MVC视图,因此#IF DEBUG无法在视图中工作。如果要编译视图以访问IF DEBUG配置,则需要:


右键单击Visual Studio中的项目

卸载项目

编辑专案

将以下属性从false更改为true


<MvcBuildViews>true</MvcBuildViews>

重新加载您的项目,然后将要编译视图。


唯一的其他解决方法是在代码中包含一个函数


public static Boolean DEBUG(this System.Web.Mvc.WebViewPage page)

{

   var value = false;

   #if(DEBUG)

       value=true;

   #endif

   return value;

}

然后从视图调用它:


if(DEBUG())

{

  //debug code here

}

else

{

  //release code here

}


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 425 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信