2013-04-15 63 views
1

我有以下問題:可以從一個cs文件顯示在HTML代碼中的一些調試消息?

我有我的看法和控制器。從控制器,我訪問一些後端類和方法。現在,我想作以下:

我想寫我的網站的調試版本。在這個調試版本中,我想顯示在後端類中生成的調試信息。

問題是,我不能直接發送它們到我的.cshtml視圖,或者這可能嗎?

我需要發送一些文本到我的.cshtml,但不是從控制器本身,從一些其他類,然後寫它,例如到<div id="myDebug"></div>

這可能嗎?

+4

你爲什麼不使用記錄器(例如[log4net的(http://logging.apache.org/log4net/)),以獲得所有調試信息? –

+0

,因爲我不知道有這樣的事情:) – gurehbgui

+0

你應該使用這樣的工具,他們真的很有用,並避免發送太多的信息給用戶,不應該看到他們... –

回答

0

我個人喜歡用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") 
    } 
} 

你可以在你的後臺類使用靜態記錄器爲好。

0

我相信你需要實現自己的ActionFilter,並根據當前模式將調試信息注入ViewBag,然後在呈現時將其渲染到視圖中。

相關問題