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")
最佳答案
我看不出有什么奇怪的,所以不知道你期望什么,我不知道问题是什么。
我确实注意到onfocus='if(this.value == '{0}') {{ this.value = ''; }}'
中的一个错误,因为属性中有单引号,还有JS,这是行不通的。尝试:
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")
对于变量而不是文本,您还需要执行
.Replace("'", "\\'")
操作,这样您就不会由于数据中的撇号而导致相同的问题。