В качестве теста я конвертирую приложение с доказательством концепции, которое мы пишем из веб-форм в Razor, просто чтобы мы могли его оценить.
Я столкнулся с одной проблемой до сих пор, из-за чего у меня болит голова. Создавая клиентский Javascript...
Веб-формы
<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>
Синтаксис бритвы
<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>
Компилятор дает мне следующую ошибку в строке "availableIds.push":
Сообщение об ошибке компилятора: CS1525: недопустимый термин выражения '{'
Очевидно, он пытается скомпилировать его как С#... но как его остановить?
Спасибо,
Кирон