コントローラーコンテキストからのそのビューか部分的なビューかどうかを調べる方法は?

ビューまたはパーシャルビューでエラーが発生しているかどうかを確認したい。または、一般的には、コントローラのコンテキストからそのビューまたは部分的なビューのどちらが見えるかをどのように見つけるか。

1

2 答え

スタックトレースを取得し、エラーのある場所から処理してみます。コードでこれを行う必要がある場合は、おそらくStackTraceクラスまたはStackTraceを例外からキャッチして使用することができます。

次のようにスタックトレースを処理することができます:

var stackTrace = new StackTrace(true);
        foreach (var r in stackTrace.GetFrames())
        {
            Console.WriteLine("Filename: {0} Method: {1} Line: {2} Column: {3}  ",
                r.GetFileName(),r.GetMethod(), r.GetFileLineNumber(),
                r.GetFileColumnNumber() );
        }

fileNameプロパティは、部分クラスファイルと一致するかどうかを確認できます。

1
追加された
デバッグの目的には必要ありません。私は効果的な方法でエラーを処理するために知る必要があります。
追加された 著者 Nutan Jayavant,

コントローラからViewBag.isPartialにboolを追加するだけです。

MVCの精神に真摯に向き合うためには、常にそのような情報の保持者を使用し、ビュー側ではそれらを発見したくない場合があります。

また、通常は部分ビューとメインビューの両方で同じビューを使用することはお勧めしません。これは、あなたがそれが果たす役割をうまく考えていないことを意味します。

このような同様の設定で最も一般的に使用されるのは、レイアウトを変更することです(モバイル用、ウェブ用など)。

1
追加された