に相当するものを探しています
#if DEBUG
//view elements to show just for debug builds
#if
MVC3/Razor のビュー用。このタイプのセットアップを実装するための慣用的な方法は何ですか?
に相当するものを探しています
#if DEBUG
//view elements to show just for debug builds
#if
MVC3/Razor のビュー用。このタイプのセットアップを実装するための慣用的な方法は何ですか?
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
}
それは厄介すぎるIMOです。ビューは愚かで、ビルドベースの決定を行うのではなく、HTML のレンダリングに集中する必要があります。
デバッグが構成されている場合は、ビュー モデルでプロパティを設定し、ビューでそれらをレンダリングします。
プロパティが null (非デバッグなど) の場合、何もレンダリングされません。
C#コードと同じようにコンパイルされないため、Razorでそれができるとは思わないでください。
したがって、コントローラーで実行し、モデルの値に追加するのが最善の方法だと思います。
編集:ここにいくつかの詳細があります。ここにいる人は、デバッグ中かどうかに関係なく、適切なコードをロードする拡張メソッドを提案しています: asp.mvc ビューは、リリース構成で #IF DEBUG に入り ます「コード」の答えを教えてください。