`
cloudtech
  • 浏览: 4594524 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

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

例子:

public static string Script = @"function Yes() {{
          var back = document.getElementById('wholePage');
          back.parentNode.removeChild(back);
          var message = document.getElementById('messageBox');
          message.parentNode.removeChild(message);{0}}}”;


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

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


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

分享到:
评论

相关推荐

    format:C++ 的花括号字符串格式

    C++ 的花括号字符串格式,如 Python 和 C#。 尚不处理浮点格式说明符或隐式参数索引,但可以正确处理转义大括号"{{" 。 // char buf[32]; // sprintf(buf, "(%d, %f, %f)", vec.x, vec.y, vec.z); // spot the ...

    TCL脚本语言编程

    字符串........................................................................................................................10 4.1 基本命令集...........................................................

    f-strings:Lua的字符串插值

    5print(F"{f} degrees Fahrenheit is {c:%.2f} degrees Celsius")几乎可以插入任何Lua表达式(除了两个较小的分析注意事项: ":%"用作指定格式的分隔符(根据string.format的相同规则),并且表达式中的花括号必须...

    TCL编程初步

    TCL(Tool Command Language) 本书籍由浅入深系统地介绍了Tcl语言,是学习Tcl语言的良师益友 Tcl编程初步 总目录 总目录 I 例索引....例 4-8 string compare 和 string equal进行字符串比较的例子. 16

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x>y)> ...

    FreeMark学习笔记

    直接指定字符串值使用单引号或双引号限定,如果字符串值中包含特殊字符需要转义,看下面的例子: ${"我的文件保存在C:\\盘"} ${'我名字是\"annlee\"'} 输出结果是: 我的文件保存在C:\盘 我名字是"annlee" FreeMarker...

    Java实验报告(5).doc

    按列右对齐, 用String.format("%1$ 4d",intNumber)可以将任意整数intNumber格式化成前面补"空格"的4位定长字符串) 3.显示出任一年份的日历(>1900) 4.用数组模拟实现一个50个字符串的堆栈,并使这个堆栈有如下...

    正则表达式

    i (忽略大小写) m (多行查找) vaScript动态正则表达式问题 请问正则表达式可以动态生成吗? 例如JavaScript中: var str = "strTemp"; 要生成: var re = /strTemp/; 如果是字符连接: var re = "/" + str + ...

    C# for CSDN 乱七八糟的看不懂

    正切 返回 e 的指定次幂 对数 数字 x 的 y 次幂 返回较大者 第3页 C#(WINFORM)学习 Math.Min(x,y) 返回较小者 枚举型 一般为字符串,可以定义带数字的枚举型,示例为: enum Color { Red=1, Blue=2, Green=3 } ...

    arff数据集全集(new)

    字符串属性和分类属性的值是区分大小写的。若值中含有空格,必须被引号括起来。例如: @relation LCCvsLCSH @attribute LCC string @attribute LCSH string @data AG5, 'Encyclopedias and dictionaries.;...

    check-and-format-number

    这是DEAD-请参阅format-number-with-string代替#check-and-format-number要使​​用格式字符串'-£#,## 0。## 0 / m','((33 years)','$ -99.00'重新格式化数字。 检查该数字是否为有效数字。 根据格式字符串...

    TCL培训教程(全)

    8字符串操作 8.1format命令 8.2scan命令 8.3regexp命令 8.4regsub命令 8.5string命令 8.5.1string compare ?-nocase? ?-length int? string1 string2 8.5.2string equal ?-nocase? ?-length int? string1 string2 ...

    android logcat使用

    tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件. 程序运行后 并不会在 ide的控制台内输出任何信息. 如果要后查看日志 请使用 adb logcat 关于adb的更多...

    jpivot学习总结.doc

    formatString 计算结果的显示格式。 visible 是否可见 datatype 数据类型,默认为 Numeric formatter 采用类来对该 Measure 的值进行格式,具体参考 Level 的 formatter 属性。 caption 标题,用来显示时...

    Python备忘3

    f-string 格式话字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去 可以使用del删除列表中的元素 list.extend(seq) seq – 元素列表,可以是列表、元组...

    如何编写批处理文件批处理文件批处理文件

    括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i...

    Dos命令大全

    括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i ...

    2009 达内Unix学习笔记

    大小写有区分。 二、特殊字符含义 文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。 ~/ 表示主目录。 ./ 当前目录(一个点)。 ../ 上一级目录(两个点)。 ; 多个命令一起用。...

    C语言程序设计标准教程

    其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串, 也就是不能显示提示字符串。地址表列中给出各变量的地址。 地址是由地址运算符“&”后跟变量名组成的。例如,&a,&b分别表示变量a和变量b 的...

Global site tag (gtag.js) - Google Analytics