未结束的字符串常量 javascript

never_give_up520 2007-09-29 11:30:12
catch (Exception ex)
{
Type t = GetType();
ClientScriptManager bs = Page.ClientScript;
StringBuilder ScriptContent = new StringBuilder();

ScriptContent.Append("<script type='text/javascript'>");
ScriptContent.Append("{alert(replace('"+ex.Message.ToString()+");}");
ScriptContent.Append("</script>");
string key="SearchError";
if (!bs.IsClientScriptBlockRegistered(t,key))
{
bs.RegisterClientScriptBlock(t, "SearchError", ScriptContent.ToString());
}
}
...全文
604 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2007-09-30
  • 打赏
  • 举报
回复
就是去掉换行,添加转义,
never_give_up520 2007-09-30
  • 打赏
  • 举报
回复
rrr = rrr.Replace("\r\n","");
rrr = rrr.Replace("\n","");
rrr = rrr.Replace("\r","");
rrr = rrr.Replace(" '",@"\ '");
老大能否告诉我这几个的含义

uephee 2007-09-29
  • 打赏
  • 举报
回复
你输出的不是函数,没有function,为什么还要加大括号{}

试试用ScriptContent.AppendFormat()函数,代码会好看很多
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
着急发错了
如下
catch (Exception ex)
{
Type t = GetType();
ClientScriptManager bs = Page.ClientScript;
StringBuilder ScriptContent = new StringBuilder();

ScriptContent.Append("<script type='text/javascript'>");
ScriptContent.Append("{alert('"+ex.Message.ToString()+");}");
ScriptContent.Append("</script>");
string key="SearchError";
if (!bs.IsClientScriptBlockRegistered(t,key))
{
bs.RegisterClientScriptBlock(t, "SearchError", ScriptContent.ToString());
}
}
uephee 2007-09-29
  • 打赏
  • 举报
回复
是不是异常的Message里有什么字符,查看源代码,看看脚本到底是什么
nchen123 2007-09-29
  • 打赏
  • 举报
回复
ToString()+");}");

=>

ToString()+"');}");

'text/javascript '
=>
'text/javascript'

小错误很多。
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
谢谢老大,今天下班了,我再调一调.
孟子E章 2007-09-29
  • 打赏
  • 举报
回复
catch (Exception ex)
{
Type t = GetType();
ClientScriptManager bs = Page.ClientScript;
StringBuilder ScriptContent = new StringBuilder();
string rrr = ex.Message.ToString();
rrr = rrr.Replace("\r\n","");
rrr = rrr.Replace("\n","");
rrr = rrr.Replace("\r","");
rrr = rrr.Replace(" '","\ '");

ScriptContent.Append(" <script type= 'text/javascript ' >");
ScriptContent.Append("alert('"+ rrr +"');");
ScriptContent.Append("</script>");
string key="SearchError";
if (!bs.IsClientScriptBlockRegistered(t,key))
{
bs.RegisterClientScriptBlock(t, "SearchError", ScriptContent.ToString());
}
}
孟子E章 2007-09-29
  • 打赏
  • 举报
回复
ex.Message有换行,‘等符号,转成js要替换
孟子E章 2007-09-29
  • 打赏
  • 举报
回复
catch (Exception ex)
{
Type t = GetType();
ClientScriptManager bs = Page.ClientScript;
StringBuilder ScriptContent = new StringBuilder();
string rrr = ex.Message.ToString();
rrr = rrr.Replace("\r\n","");
rrr = rrr.Replace("\n","");
rrr = rrr.Replace("\r","");
rrr = rrr.Replace("'","\'");

ScriptContent.Append("<script type='text/javascript'>");
ScriptContent.Append("alert(replace( '"+ rrr +" ');");
ScriptContent.Append(" </script >");
string key="SearchError";
if (!bs.IsClientScriptBlockRegistered(t,key))
{
bs.RegisterClientScriptBlock(t, "SearchError", ScriptContent.ToString());
}
}
sonce8 2007-09-29
  • 打赏
  • 举报
回复
仔細檢查下引號吧!
http://wuyongsheng.mycool.net
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
大哥你试了吗?根本就不好用.
小明aa 2007-09-29
  • 打赏
  • 举报
回复
catch (Exception ex)
{
Type t = GetType();
ClientScriptManager bs = Page.ClientScript;
StringBuilder ScriptContent = new StringBuilder();

ScriptContent.Append(" <script type= 'text/javascript ' >");
ScriptContent.Append("alert(replace( '"+ex.Message.ToString()+"');");
ScriptContent.Append(" </script >");
string key="SearchError";
if (!bs.IsClientScriptBlockRegistered(t,key))
{
bs.RegisterClientScriptBlock(t, "SearchError", ScriptContent.ToString());
}
}
TonyTonyQ 2007-09-29
  • 打赏
  • 举报
回复
额,你这样的错误信息肯定有JavaScript错误的,有"\"在。
写成这样看看:

Response.Write(" <script >alert( '"+ HttpUtility.HTMLEncode(ex.Message.ToString())+" '); </script >");
exiori 2007-09-29
  • 打赏
  • 举报
回复
你的编码方式是什么。还有没有其它的JS代码。很可能是其它代码的问题。编码方式也会引起这个问题。
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
这么长时间没人给出正确的解释
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
是不是这些错误描述文字引发了javascript的异常????
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
写成这样与报错
Response.Write("<script>alert('"+ex.Message.ToString()+"');</script>");
仍然是错误:未结束的字符串常量
关键是弹不出如下的这此文字.
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。
---> System.Exception: 填充数据出错:ORA-00933: SQL 命令未正确结束 --->
System.Data.OracleClient.OracleException: ORA-00933: SQL 命令未正确结束
在 System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
在 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior
behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
在 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior
behavior, ArrayList& resultParameterOrdinals) 在 System.Data.OracleClient.OracleCommand.ExecuteReader
(CommandBehavior behavior) 在 System.Data.OracleClient.OracleCommand.ExecuteDbDataReader(CommandBehavior
behavior) 在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords,
String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
在 Dhthx.CoreClass.Data.OracleDatabase.Fill(IDbCommand selcmd, DataSet ds, String tablename)
--- 内部异常堆栈跟踪的结尾 --- 在 FlowCard.GetSearchWeb(String sql, String tablename)
位置 d:\CompanyProjectManage\SFMES\Dhthx.SFMESSer\App_Code\FlowCard.cs:行号 358
--- 内部异常堆栈跟踪的结尾 ---);
never_give_up520 2007-09-29
  • 打赏
  • 举报
回复
连一下数据库故意让它报错,捕获的时候就出现这样的情况.
TonyTonyQ 2007-09-29
  • 打赏
  • 举报
回复
正确的情况下,应该生成如下 HTML 代码:

<script type='text/javascript'>alert('error message here');</script >
加载更多回复(8)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧