1

次の問題があります。

ビューとコントローラーがあります。コントローラーから、いくつかのバックエンド クラスとメソッドにアクセスします。今、私は次のことをしたいです:

サイトのデバッグ バージョンを作成したいと考えています。このデバッグ バージョンでは、バックエンド クラスで生成されるデバッグ情報を表示したいと考えています。

問題は、それらを自分の.cshtmlビューに直接送信できないことですか、それとも可能ですか?

.cshtmlコントローラー自体からではなく、他のクラスからテキストを送信してから、たとえばに書き込む必要があります<div id="myDebug"></div>

これは可能ですか?

4

2 に答える 2

0

独自の ActionFilter を実装し、現在のモードに応じてデバッグ情報を ViewBag に挿入し、表示されている場合はビューにレンダリングする必要があると思います。

于 2013-04-15T07:39:26.357 に答える
0

個人的には、デバッグ情報を書き込むためにNLogを使用するのが好きです。

たとえば、コントローラーのアクションが呼び出されたときに、Yuriy が提案したように ActionFilter を使用できます。

public static class Logger
{
    static readonly NLog.Logger _logger = LogManager.GetLogger("SomeLogger");

    public static void LogDebug(string message)
    {
        _logger.Debug(message);
    }
}

public class LogActionFilter : ActionFilterAttribute
{    
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        //do something
        Logger.Debug("Debug info") 
    }
}

バックエンド クラスでも静的ロガーを使用できます。

于 2013-04-15T09:32:41.793 に答える