【发布时间】:2010-06-25 16:44:34
【问题描述】:
当 ASP.MVC 服务器端代码发生任何异常时,我想获取异常的整个堆栈跟踪并放置在 ViewData 中并返回给客户端。例如:
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);
不会有任何错误。
【问题讨论】:
-
我认为你应该使用 url 编码。
标签: c# javascript asp.net-mvc