当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