當ASP.MVC服務器端代碼發生任何異常時,我想將異常的整個堆棧跟蹤並放置在ViewData中並返回給客戶端。例如:在ASP.MVC中,如何在ViewData中放置JavaScript友好的異常堆棧軌跡?
try
{
//some code
}
catch (SomeException e)
{
ViewData["exceptionStack"] = e.StackTrace;
}
客戶端上的JavaScript只取得ViewData中的字符串並顯示它。例如:
<script type="text/javascript">
var exceptionStack = '<%= ViewData["exceptionStack"] %>';
</script>
的問題是我怎麼能保證,無論是通過正則表達式或其他手段,無論是在服務器端使用C#或客戶端的JavaScript變量exceptionStack將不包含任何非法字符上,所以,當我做:
$('#someElement').text(exceptionStack);
或
$('#someElement').html(exceptionStack);
不會有任何錯誤。
你應該使用網址編碼我認爲。 – 2010-06-25 16:48:00