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("'", "\\'")操作,这样您就不会由于数据中的撇号而导致相同的问题。

09-25 17:03