我以这种方式使用String.Format
:
String.Format("$(function() { $('{0}').menu(); });", "blaId");
我得到一个例外:
An exception of type 'System.FormatException' occurred and was caught.
我该如何解决这个问题?
答案 0 :(得分:7)
您应该转义{
这样的字符:{{
,除非它们是{0}
等占位符的一部分。
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
答案 1 :(得分:4)
花括号内的索引值无效。 String.Format
将此视为格式化的占位符。
{ $('{0}').menu(); }
要解决此问题,请使用双花括号进行转义:
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
答案 2 :(得分:1)
转义{
和}
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
答案 3 :(得分:1)
其他大括号让String.Format
感到困惑。
一种解决方案是写:
String.Format("$(function() {1} $('{0}').menu(); {2});", "blaId", "{", "}");
但是最好逃避文字,比如:
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");