As a test I'm converting a proof-of-concept app we've written from Web Forms to Razor, simply so we can evaluate it.
I've run into one problem so far that's making my head hurt..generating client-side Javascript...
Web-Forms
<script type=text/javascript>
var jqGridIdList = <%: Url.Action (getidlist, office, new { area = reports }) %>;
var availableIds = [];
<% for (var i = 0; i < Model.Data.Count (); i++) { %>
availableIds.push({ value : <%: Model.Data.ElementAt (i).Text %>, label : <%: Model.Data.ElementAt (i).Text %> });
<% } %>
</script>
Razor Syntax
<script type=text/javascript>
var jqGridIdList = @Url.Action(getidlist, office, new { area = reports });
var availableIds = [];
@for(var i = 0; i < Model.Data.Count (); i++) {
availableIds.push({ value : @Model.Data.ElementAt(i).Text, label : @Model.Data.ElementAt(i).Text });
}
</script>
The compiler gives me the following error on the 'availableIds.push' line:
Compiler Error Message: CS1525: Invalid expression term '{'
It's obviously trying to compile it as C#...but how do I stop it?
Thanks,
Kieron