ASP.NET弹出显示ex.Message异常信息 存在换行符和回车符处理办法。

1.把ex.Message换成任意字符串,检验在catch语句块中可以用Response.Write方法显示对话框。结果显示成功,说明问题就出在ex.Message上。

2.在程序中下断点,可以看到ex.Message的内容如下图:

重点是红色圈起来的部分,这里边有个回车+换行符号,估计也就是他搞的鬼,二话不说,直接把它去掉,代码如下:

try

{//….

}  catch (Exception ex)

{

Response.Write("<script language=‘javascript‘>alert(\"" + ex.Message.Replace("\\r\\n", "") + "\");</script>");

}

可是这样依然不行!还是不显示!

3.经过近乎崩溃的探索,终于发现了问题所在,的确是\r\n在搞鬼,只不过我替换的方式不对。下断点的时候看到的是\r\n(上图),这时的\已经是转义字符,用来转义r和n,表示的真实含义是回车+换行。而我写成\\r\\n,是在用前一个\转义后一个\,r和n被当成了普通字符,表示的真实含义是\r\n。这样当然就替换不到了!所以正确的写法如下:


try

{  //….

}

catch (Exception ex)

{

Response.Write("<script language=‘javascript‘>alert(\"" + ex.Message.Replace("\r\n", "") + "\");</script>");

}

这样就可以完美显示了!

其实网上有很多这样的问题,之所以答案都不对是因为他们和我犯了同样的错误,转义字符写多了,以后碰到类似的问题直接这样去掉回车+换行就行了(比如显示一段读取的文字,里边含有回车换行)!希望这个小经验能够帮助大家!

转载:http://blog.csdn.net/yangyuankp/article/details/7630115

ASP.NET弹出显示ex.Message异常信息 存在换行符和回车符处理办法。

时间: 2024-11-08 15:06:51

ASP.NET弹出显示ex.Message异常信息 存在换行符和回车符处理办法。的相关文章

asp .NET弹出窗口 汇总(精华,麒麟创想)

asp .NET弹出窗口 汇总(精华,麒麟创想) 注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();</script>"); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 this.Response.Write("<script>");this.Response.Write("{top.ope

ASP.NET弹出对话框

自己写的窗口弹出:Page.RegisterClientScriptBlock("alert", "<script>alert('两次密码不一致,请重新输入!')</script>"); [以下为网上查询到的方法] 在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否"操作成功","确定"还是"取消"操作: (1) 点击页面上的按钮,弹出一个对话框提示是"

ASP.NET弹出提示点击确定之后再跳转页面的方法

//ASP.NET弹出提示点击确定之后再跳转页面的方法 //弹出了提示并且通过location.href转到了DeskTop.aspx页面 Response.Write("<script>alert('密码修改成功');location.href='DeskTop.aspx';</script>");

ASP.NET 弹出提示框所有种类

using System;using System.Web; using System.Data;using System.Data.SqlClient; public class MessageBox{public MessageBox(){ } /// <summary>/// 警告框/// </summary>/// <param name="_Msg">警告字串</param>/// <returns>警告框JS<

asp.net弹出层扩展研究

.aspx代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="popup.aspx.cs" Inherits="lesson_code_Default2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www

asp .NET弹出窗口汇总

注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();</script>"); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 this.Response.Write("<script>");this.Response.Write("{top.opener =null;top.close();}&q

asp.net弹出层实例

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestASPNetNewBlock._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www

asp后端弹出框

RegisterStartupScript("提示信息", "<script>alert('Hello')</script>"); 这样在后端写就可以弹出和Winform一样的弹出框.虽然微软提示已过时,但是不影响使用,也可以达到我们想要的效果. 微软推荐使用 ClientScript.RegisterStartupScript(GetType(), "提示信息", "<script>alert('H

jQuery地图热点效应-后在弹出的提示鼠标层信息

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>地图热点效果-鼠标经过弹出提示信息</title> <meta http-equiv="Content-Type" content=&q