1.response.write("<script>...</script>")
问题:特殊字符处理困难
例如
string s_Message="显示文本";
response.write("<script>alert(/""+s_Message+"/")</script>")
该脚本执行后,弹出警告框,警告框内容为"显示文本"。
但是如果我们希望弹出的警告框内容为"显示/r/n文本"
string s_Message="显示/r/n文本";
response.write("<script>alert(/""+s_Message+"/")</script>")
此时脚本出错。因为response.write函数把/r/n在客户端段写成了一个换行。结果如下
<script>alert("显示
文本")</script>
浏览器提示错误:未结束的字符串常量。
2.使用ClientScriptManager
//获取该页的脚本管理对象
ClientScriptManager _ClientScriptManager = Page.ClientScript;
Type _Type = this.GetType();
String s_ScriptName = "PopupScript";
if (!_ClientScriptManager.IsStartupScriptRegistered(_Type, s_ScriptName))
{
String s_Message =" alert(显示脚本)";
_ClientScriptManager.RegisterStartupScript(_Type, s_ScriptName, s_Message, true);
}