私は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");