2

私はString.Formatこの方法を使用しています:

String.Format("$(function() { $('{0}').menu(); });", "blaId");

例外があります:

An exception of type 'System.FormatException' occurred and was caught.

どうすればこれを修正できますか?

4

4 に答える 4

7

のようなプレースホルダーの一部でない限り、{次のような文字をエスケープする必要があります。{{{0}

String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
于 2012-04-18T14:38:11.713 に答える
4

中かっこ内に無効なインデックス値があります。String.Formatは、これをフォーマットのプレースホルダーとして認識します。

{ $('{0}').menu(); }

これを解決するには、二重中括弧を使用してエスケープします。

String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
于 2012-04-18T14:37:55.173 に答える
1

逃げ{}

  String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
于 2012-04-18T14:38:44.303 に答える
1

他の中括弧は紛らわしいString.Formatです。

1つの解決策は、次のように書くことです:

String.Format("$(function() {1} $('{0}').menu(); {2});", "blaId", "{", "}");

ただし、次のようにリテラルをエスケープすることをお勧めします。

String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
于 2012-04-18T14:41:44.677 に答える