当从代码后台输出Javascript时,如何处理换行符
How to deal with linebreaks when outputting Javascript from code behind
我正在通过从代码后台输出客户端函数调用
Page.ClientScript.RegisterStartupScript( this.GetType(), "supportItems", scriptCalls, true );
scriptCalls包含对客户端函数的调用,该函数有几个从数据库中获取的字符串参数,然后在HTML文本区域中显示参数,因此最终需要保留换行符。如果DB值包含换行符,那么换行符将包含在输出的客户端脚本中,这当然会导致客户端脚本错误。
我试着通过一个清理函数传递DB值,以替换换行符ala:
private string CleanJavaScriptString( string stringToClean )
{
string cleanString = stringToClean.Replace( "'", "''" );
cleanString = cleanString.Replace( Environment.NewLine, "'n" );
return cleanString;
}
但这仍然会输出代码中的实际换行符。我怎样才能做到这一点?
如果您可以访问它(.NET 3.5以后版本),最好使用JavaScriptSerializer
。。。
Private Sub MesgBox(ByVal sMessage As String)
Dim serializer as New System.Web.Script.Serialization.JavaScriptSerializer()
Dim msgedtble As String = serializer.Serialize(sMessage)
Page.ClientScript.RegisterStartupScript(Me.GetType, "myScripts",
"<script type='text/javascript'>alert(" & msgedtble & ");</script>")
End Sub
这取自这个问题/答案。
JavaScriptSerializer的优点是它将处理引号、换行符以及所有您可能没有想到的字符,这些字符会影响JavaScript。
编辑
这里有一个C#,相当于你所要求的。。。
private string CleanJavaScriptString( string stringToClean )
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new
System.Web.Script.Serialization.JavaScriptSerializer();
return serializer.Serialize(stringToClean);
}
您需要双重转义换行符,因此…
private string CleanJavaScriptString( string stringToClean )
{
string cleanString = stringToClean.Replace( "'", "''" );
cleanString = cleanString.Replace( Environment.NewLine, "''n" );
return cleanString;
}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何处理node.js节点mongodb中的连接和查询队列
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何处理10页以上的静态页眉/页脚
- 将事件处理程序绑定到任何可能的事件
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- python到“;流“;字典处理
- 使用javascript进行实时图像处理
- 导入jQuery脚本获胜'我不处理html文件
- Javascript无法处理表单提交
- JavaScript 任务调度程序(批处理处理)
- RegEx在VBA和JavaScript中的处理方式有何不同?