【发布时间】:2014-01-15 18:51:40
【问题描述】:
string.format 在下面的 html 上创建了一个非常奇怪的结果。我相信这与内联 if 块有关,但我还没有弄清楚。请帮忙!
String.Format(@"<input type='text'
name='PostalCode'
id='PostalCode'
onfocus='if(this.value == '{0}')
{{ this.value = ''; }}'
value='{1}'
class='enter-postal' />",
"Enter Postal Code", "Enter Postal Code")
【问题讨论】:
-
你说的奇数是什么意思?它产生的正是你告诉它产生的东西。
-
它在做什么,你想让它做什么?
-
您在 JavaScript 代码中使用
',即使它被用作分隔符:使用"(并转义它)。此外,我建议编写一个帮助类来构建具有属性的 HTML 标记... -
您可以通过不通过字符串文字定义 HTML 来避免整个问题。通常有更好的方法来解决这个问题,例如使用某种形式的标记文件或模板来代替。如果您能够在适当的 HTML 编辑器中编写 HTML,那么这样的错误就会变得明显,并且您也不需要处理多层字符转义的问题。
-
对于一些简单的事情,为什么不直接将“输入邮政编码”硬编码到字符串中 - 这将减少您与“和”以及转义的混淆。而且您不需要使用 {0} 和{1},如果替换字符串相同 - 只需使用 {0} 并且只有一个“输入邮政编码”实例
标签: c# html string.format