Using Visual Studio 2012, on a Razor view page, in the JavaScript section, I am getting what I think is a battle between Razor syntax vs JavaScript syntax. In particular, the trailing semicolon in the script section is flagged by intellisense and a compiler warning (not error) is delivered:
'Warning 13 Syntax error'.
If I remove it, then I get a statement termination recommendation (ReSharper in this case, but just good practice).
<script type="text/javascript">
$().ready(function(){
var customer = @Html.Raw(ViewBag.CustomerJSON); // <- Razor (I think) doesn't like this semicolon
});
</script>
Is this a bug in Razor? If so, is there a way I can rewrite this to avoid this issue?
@Html.Raw(ViewBag.CustomerJSON) + '';
Because the JavaScript validator is expecting integer or text. It does absolutely nothing to the result but removes the red squiggle.Warning: Overusing this might burn your eyes later on.
– Matineevar data = [@Json.Encode(someObject)][0];
that works for c# calls that are returning JSON objects, not strings or numbers. – Enfranchise