String.Format 源字符串包含大括号的小问题

2014-11-24 11:27:54 ? 作者: ? 浏览: 1

在使用String.Format()的过程中,一直没有遇到这种类型的问题,直到在写一个小sample的过程中,需要动态生成一段java script代码并且通过ScriptManager.RegisterCliemtScriptBlock方法将其注册到前台,这里使用String.Format来区分动态和静态部分,并且生成最终的脚本代码。


编程中发现带有“{”和“}”符号的脚本代码在String.format()过程中会报错,提示输入字符串不正确。反复检查了java script,并没有什么可疑的地方。后来通过查询一些资料,由于String.Format()通过检测“{”,“}”符号来判断,需要参数字符串插入的位置,如果你继续在源字符串中使用这个字符时,可能造成混淆(你可以将其当做是关键字),就像你需要在字符串中加入双引号时,同样需要使用转义字符。 所以在实际开发中,你需要吧”{“和”}“字符以”{{“和”}}“代替。


很小的一个问题,可能是个人编程经验不足,贻笑大方,这里写下来作为自己的提醒。


例子:


另外一个, 如果你的字符串中含有引号,需要额外再加上一个引号才可以正常显示,即“”代替”, 例如:


string script="function A() {var text=""""}";


通过RegisterCliemtScriptBlock方法可以注册为function A() {var text="";}




-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: