我有以下問題:可以從一個cs文件顯示在HTML代碼中的一些調試消息?
我有我的看法和控制器。從控制器,我訪問一些後端類和方法。現在,我想作以下:
我想寫我的網站的調試版本。在這個調試版本中,我想顯示在後端類中生成的調試信息。
問題是,我不能直接發送它們到我的.cshtml
視圖,或者這可能嗎?
我需要發送一些文本到我的.cshtml
,但不是從控制器本身,從一些其他類,然後寫它,例如到<div id="myDebug"></div>
這可能嗎?
我有以下問題:可以從一個cs文件顯示在HTML代碼中的一些調試消息?
我有我的看法和控制器。從控制器,我訪問一些後端類和方法。現在,我想作以下:
我想寫我的網站的調試版本。在這個調試版本中,我想顯示在後端類中生成的調試信息。
問題是,我不能直接發送它們到我的.cshtml
視圖,或者這可能嗎?
我需要發送一些文本到我的.cshtml
,但不是從控制器本身,從一些其他類,然後寫它,例如到<div id="myDebug"></div>
這可能嗎?
我個人喜歡用NLog寫入調試信息。
調用您的控制器上的動作時,你可以像尤里建議使用一個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")
}
}
你可以在你的後臺類使用靜態記錄器爲好。
我相信你需要實現自己的ActionFilter,並根據當前模式將調試信息注入ViewBag,然後在呈現時將其渲染到視圖中。
你爲什麼不使用記錄器(例如[log4net的(http://logging.apache.org/log4net/)),以獲得所有調試信息? –
,因爲我不知道有這樣的事情:) – gurehbgui
你應該使用這樣的工具,他們真的很有用,並避免發送太多的信息給用戶,不應該看到他們... –