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");