我有以下问题:
我有我的观点和控制器。从控制器,我访问一些后端类和方法。现在我想做以下事情:
我想编写我的网站的调试版本。在这个调试版本中,我想显示在后端类中生成的调试信息。
问题是,我不能将它们直接发送到我的.cshtml
视图,或者这可能吗?
我需要向我发送一些文本,.cshtml
但不是从控制器本身,从其他一些类,然后将其写入例如<div id="myDebug"></div>
这可能吗?
我有以下问题:
我有我的观点和控制器。从控制器,我访问一些后端类和方法。现在我想做以下事情:
我想编写我的网站的调试版本。在这个调试版本中,我想显示在后端类中生成的调试信息。
问题是,我不能将它们直接发送到我的.cshtml
视图,或者这可能吗?
我需要向我发送一些文本,.cshtml
但不是从控制器本身,从其他一些类,然后将其写入例如<div id="myDebug"></div>
这可能吗?
我个人喜欢使用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。
我相信您需要实现自己的 ActionFilter 并根据当前模式将调试信息注入 ViewBag,然后在出现时将其呈现在视图中。