私はString.Formatこの方法を使用しています:
String.Format("$(function() { $('{0}').menu(); });", "blaId");
例外があります:
An exception of type 'System.FormatException' occurred and was caught.
どうすればこれを修正できますか?
のようなプレースホルダーの一部でない限り、{次のような文字をエスケープする必要があります。{{{0}
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
中かっこ内に無効なインデックス値があります。String.Formatは、これをフォーマットのプレースホルダーとして認識します。
{ $('{0}').menu(); }
これを解決するには、二重中括弧を使用してエスケープします。
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
逃げ{て}
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
他の中括弧は紛らわしいString.Formatです。
1つの解決策は、次のように書くことです:
String.Format("$(function() {1} $('{0}').menu(); {2});", "blaId", "{", "}");
ただし、次のようにリテラルをエスケープすることをお勧めします。
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");