我正在使用StringBuilder AppendLine
插入一些要在JavaScript警报框中显示的行。警报框没有触发,当我看到 View 源时,我得到以下信息:
alert("Void SendMail(Int32):
Line number: 0
Object reference not set to an instance of an object.
");
StringBuilder代码:
sb.AppendLine(string.Format("{0}: ", frame.GetMethod()));
sb.AppendLine(string.Format("Line number: {0} ", frame.GetFileLineNumber()));
sb.AppendLine(ex.Message);
请告诉我如何解决这个问题?
最佳答案
您可能应该使用StringBuilder.ToString().Replace(Environment.NewLine, "\\n")
,而不是StringBuilder.ToString()
。这应该转义 JavaScript 中的换行符,因此结果是:
alert("Void SendMail(Int32):\nLine number: 0 \nObject reference not set to an instance of an object.\n");
我真诚地希望您也将异常记录在服务器端的某个地方。
关于由于 StringBuilder 添加新行,Javascript 警报未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354548/