I have a MVC3 HtmlHelper extension like this:
public static MvcHtmlString ShowInfoBar(this HtmlHelper helper, string message, InfoMessageType messageType)
Escape your squiggly brackets {{ }} in the format string
String.Format(@"<script type=""text/javascript"">$(document).ready(function () {{ gtg.core.showInfoBar('{0}', '{1}'); }});</script>", message, messageType.ToString().ToLower())
I have tried as below, and its working.
string.Format(@"ExecuteOrDelayUntilScriptLoaded(function () {{ Your function.
On every brace that isn't a token you must double - so
function() {{
Etc
Also - consider XSS here - is message
escaped correctly for inserting into JavaScript?
You need to escape the curly braces:
{{
and }}
String.Format(@"<script type=""text/javascript"">$(document).ready(function () {{ gtg.core.showInfoBar('{0}', '{1}'}}; );</script>",
message, messageType.ToString().ToLower())
In my case I used the bracket for JsonP formatting. JsonP requires a '{' too. By escaping the { like this: '{{', my problem was solved.