日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]

發(fā)布時(shí)間:2025/3/20 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response] 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、普通輸出問(wèn)題分析、測(cè)試

??????????1.?????我們先來(lái)看一段代碼:

????///?<summary>
????
///?連接接數(shù)據(jù)庫(kù)
????
///?</summary>
????
///?<param?name="sender"></param>
????
///?<param?name="e"></param>
????protected?void?btnConnect_Click(object?sender,?EventArgs?e)
????{
????????
try
????????{
????????????
///此處填寫(xiě)連接數(shù)據(jù)庫(kù)的代碼
????????}
????????
catch?(Exception?ex)
????????{
????????????Response.Write(Alert(
string.Concat("連接失敗!!出錯(cuò)原因:",?ex.Message)));
????????}
????}

????
///?<summary>
????
///?彈出信息
????
///?????<script?language="javascript"?type="text/javascript">
????
///?????????alert(msg);
????
///?????</script>
????
///?</summary>
????
///?<param?name="msg"></param>
????
///?<returns></returns>
????public?static?string?Alert(string?msg)
????{
????????
return?Javascript(string.Concat("alert('",msg,"');"));
????}

????
///?<summary>
????
///?輸出Javascript代碼
????
///?????<script?language="javascript"?type="text/javascript">
????
///?????????alert("彈出框例子!");
????
///?????</script>
????
///?</summary>
????
///?<param?name="context"></param>
????
///?<returns></returns>
????public?static?string?Javascript(string?context)
????{
????????
return?string.Concat("<script?language=\"javascript\"?type=\"text/javascript\">",?context,?"</script>");?;
????}

??????????說(shuō)明分析:這里調(diào)用方法btnConnect_Click讓他衡失敗,比如連接字符串錯(cuò)誤,這里假設(shè)連接字符串為:Data Source=.\;Initial Catalog=test;User ID=sa;Password=sa??。那么調(diào)試時(shí)ex.Message信息會(huì)顯示"無(wú)法打開(kāi)登錄 'test' 中請(qǐng)求的數(shù)據(jù)庫(kù)。登錄失敗。\r\n用戶 'sa' 登錄失敗。",那么現(xiàn)在我可以很肯定的告訴你,你直接輸出肯定會(huì)報(bào)Javascript錯(cuò)誤,顯示"?確實(shí)')'?",跟蹤發(fā)現(xiàn)它輸出的字符串如下:

<script?language="javascript"?type="text/javascript">alert('連接失敗!!出錯(cuò)原因:無(wú)法打開(kāi)登錄?'test'?中請(qǐng)求的數(shù)據(jù)庫(kù)。登錄失敗。
用戶?
'sa'?登錄失敗。');</script>

???????????我們把這代碼直接復(fù)制到ASPX頁(yè)面里,果然報(bào)錯(cuò),而且錯(cuò)誤也比較明顯了,alert輸出的信息不在一行上,也不支持C# 的'@'?,問(wèn)題就出在這里了!!

二、解決辦法[參考帖子:http://topic.csdn.net/u/20080505/15/3b9c038d-f82d-429f-b093-00e92fdca295.html]

???????????修改后的代碼如下,Javascript方法不變,僅僅修改Alert方法,代碼如下:

????????///?<summary>
????????
///?彈出信息
????????
///?????<script?language="javascript"?type="text/javascript">
????????
///?????????alert(msg);
????????
///?????</script>
????????
///?</summary>
????????
///?<param?name="msg"></param>
????????
///?<returns></returns>
????????public?static?string?Alert(string?msg)
????????{
????????????StringBuilder?html?
=?new?StringBuilder();
????????????msg?
=?msg.Replace("'","?");
????????????html.AppendLine();
????????????html.Append(
"???var?msg?=?'';");
????????????html.AppendLine();
????????????
for?(int?i?=?0,?j?=?msg.Length;?i?<?j;)
????????????{
????????????????
if?(i?+?10?<=?j)
????????????????{
????????????????????html.Append(
"msg+='");
????????????????????html.Append(msg.Substring(i,?
10).Replace(System.Environment.NewLine,?string.Empty));
????????????????????html.Append(
"';");
????????????????????html.AppendLine();
????????????????????i?
+=?10;
????????????????}
????????????????
else
????????????????{
????????????????????html.Append(
"msg+='");
????????????????????html.Append(msg.Substring(i).Replace(System.Environment.NewLine,?
string.Empty));
????????????????????html.Append(
"';");
????????????????????html.AppendLine();
????????????????????
break;
????????????????}
????????????}
????????????html.Append(
"alert(msg);");
????????????
return?Javascript(html.ToString());
????????}

??????????代碼說(shuō)明:大家注意紅色的代碼部分,是代碼的關(guān)鍵,替換信息內(nèi)所含的換行,自己手動(dòng)增加換換行符號(hào),并且拼接字符串,防止字符串過(guò)長(zhǎng)。測(cè)試后,跟蹤調(diào)試輸出字符串如下:

<script?language="javascript"?type="text/javascript">
???
var?msg?=?'';
msg
+='連接失敗!!出錯(cuò)原因';
msg
+=':無(wú)法打開(kāi)登錄??t';
msg
+='est??中請(qǐng)求的數(shù)';
msg
+='據(jù)庫(kù)。登錄失敗。';
msg
+='用戶??sa??登錄';
msg
+='失敗。';
alert(msg);
</script>

? ??本文轉(zhuǎn)自博客園農(nóng)民伯伯的博客,原文鏈接:ASP.NET 動(dòng)態(tài)輸出Javascript 文本格式換行問(wèn)題 [ASP.NET | C# | Response],如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原博主。

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本一二三区不卡 | 国产精品xxx| 日韩制服在线 | 开心激情亚洲 | 黄色1级片 | 日韩一卡二卡三卡四卡 | 国产六区| 国产美女永久无遮挡 | 中文字幕一区在线观看 | melody在线高清免费观看 | 日本中文字幕二区 | 免费视频国产 | 三大队在线观看 | 欧美日韩免费看 | 人人澡人人干 | 无码国产精品一区二区免费式直播 | 欧美在线一二三区 | 国产最新网址 | 中文字幕一区二区三区免费视频 | 亚洲精品综合精品自拍 | 国产情侣自拍一区 | 久久国产精彩视频 | 亚洲爱v | 黄色一级录像片 | 精品国产乱码久久久久久88av | 国产精品色图 | 黄色大片免费网站 | 熟妇人妻无乱码中文字幕真矢织江 | 欧美精品一区二区三区三州 | 免费中文字幕日韩 | 亚洲干 | 国产高清在线观看 | 亚洲国产精品成人va在线观看 | 熟女人妻一区二区三区免费看 | wwwww在线观看 | 久久美 | 欧美搞逼视频 | 成年人免费看 | 欧美福利网址 | 免费色站| 久久99精品久久久久久园产越南 | 成人免费毛片xxx | 欧美一二三四五区 | 青青草国产 | 午夜精品久久久久久久蜜桃 | a视频在线播放 | www.一区二区三区 | 男女激情四射网站 | 性感美女福利视频 | 国产免费av网址 | 公侵犯一区二区三区 | 亚洲天堂av一区二区 | 日本免费电影一区二区三区 | 特黄aaaaaa私密按摩 | 天天综合干| 久久免费观看视频 | 蜜桃一二三区 | 国产伦精品一区二区三区 | 日韩一区二区a片免费观看 伊人网综合在线 | av网子 | 欧美一区二区三区四区在线观看 | 亚洲作爱网 | 小情侣高清国产在线播放 | 少妇人妻一区二区三区 | 99热最新在线 | 成年人网站av | 超碰狠狠干 | 日韩美女av在线 | 亚洲免费视频播放 | 欧美日韩一区二区三区在线视频 | 免费黄色网页 | 蜜桃综合 | 吃奶av| 污网站在线观看免费 | 欧美成人生活片 | 一本久道在线 | 四虎5151久久欧美毛片 | 精品国产乱码久久久久久闺蜜 | 95国产精品 | 日韩在线第一区 | 天天看av| 久久综合第一页 | 久久精选视频 | 亚洲中文字幕久久无码 | 国产91在线播放 | 成人1区2区 | 亚洲a网站 | 91传媒视频在线观看 | 在线视频 亚洲 | 午夜啪啪福利视频 | 福利视频在线 | 制服丝袜av在线 | 免费毛片播放 | 91网页入口 | 91极品尤物 | 亚洲欧美另类中文字幕 | 日韩中文字 | 超碰免费在线97 | 狠狠操网站|