【发布时间】:2011-05-02 00:17:59
【问题描述】:
作为测试,我正在将我们编写的概念验证应用从 Web 表单转换为 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:无效的表达式术语“{”
它显然试图将其编译为 C#...但是我该如何阻止它呢?
谢谢,
基隆
【问题讨论】:
标签: javascript razor asp.net-mvc-3