asp.net alert中换行问题

ClientScript.RegisterStartupScript(GetType(), "message", "<script language='JavaScript' type='text/javascript'>alert('" + msg + "</script>");

以前一直用这种方法弹alert,后来发现当msg中含有换行符\n时,弹不出alert
试了多种方法,最后决定曲线救国,先替换掉\n,再在js里给换回来。简单封装下:

void Alert(string msg) {
    ClientScript.RegisterStartupScript(
        GetType(), "message",
        "<script language='JavaScript' type='text/javascript'>alert('" + 
        msg.Replace("\n", "<br/>").Replace("\r", "") + 
        "'.replace(/<br\\/>/g, String.fromCharCode(10)));</script>"
    );
}

注意js里用的是正则替换,加参数g,不然只会替换第一个
调用:

//C Sharp Code
Alert("aaa\nbbb");
Alert("I\nLove\nChina");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容