2

に相当するものを探しています

#if DEBUG
   //view elements to show just for debug builds
#if

MVC3/Razor のビュー用。このタイプのセットアップを実装するための慣用的な方法は何ですか?

4

3 に答える 3

3

HttpContext.Current.IsDebuggingEnabledを使用できます。これは、web.config ファイルのデバッグ値をチェックします。

例えば:

@if(HttpContext.Current.IsDebuggingEnabled) {
    //view elements to show just for debug builds
}

もう 1 つのオプションは、独自の HttpHelper 拡張機能を作成することです。

public static class HtmlHelperExtensions
{
    public static bool IsDebug(this HtmlHelper helper)
    {
        #if DEBUG
          return true;
        #else
          return false;
        #endif
    } 
}

次に、Razor コードで次のように使用できます。

@if (Html.IsDebug())
{ 
    //view elements to show just for debug builds
}
于 2014-03-03T21:25:52.007 に答える
3

それは厄介すぎるIMOです。ビューは愚かで、ビルドベースの決定を行うのではなく、HTML のレンダリングに集中する必要があります。

デバッグが構成されている場合は、ビュー モデルでプロパティを設定し、ビューでそれらをレンダリングします。

プロパティが null (非デバッグなど) の場合、何もレンダリングされません。

于 2011-12-06T23:37:28.243 に答える
0

C#コードと同じようにコンパイルされないため、Razorでそれができるとは思わないでください。

したがって、コントローラーで実行し、モデルの値に追加するのが最善の方法だと思います。

編集:ここにいくつかの詳細があります。ここにいる人は、デバッグ中かどうかに関係なく、適切なコードをロードする拡張メソッドを提案しています: asp.mvc ビューは、リリース構成で #IF DEBUG に入り ます「コード」の答えを教えてください。

于 2011-12-06T22:43:55.713 に答える