1

我有以下问题:

我有我的观点和控制器。从控制器,我访问一些后端类和方法。现在我想做以下事情:

我想编写我的网站的调试版本。在这个调试版本中,我想显示在后端类中生成的调试信息。

问题是,我不能将它们直接发送到我的.cshtml视图,或者这可能吗?

我需要向我发送一些文本,.cshtml但不是从控制器本身,从其他一些类,然后将其写入例如<div id="myDebug"></div>

这可能吗?

4

2 回答 2

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") 
    }
}

您也可以在后端类中使用静态 Logger。

于 2013-04-15T09:32:41.793 回答
0

我相信您需要实现自己的 ActionFilter 并根据当前模式将调试信息注入 ViewBag,然后在出现时将其呈现在视图中。

于 2013-04-15T07:39:26.357 回答