0
<div class="firstColumn">
<% for (int rowCount = 0; rowCount < Model.TaskAttributes.Count; rowCount += 2)
   {%>
       <%= Html.EditorFor(model => model.TaskAttributes[rowCount]) %>
 <%}
%>
</div>

所以,我有这段代码可以正常工作,但我对所有 MVC 标记不满意。

该解决方案尚不支持 Razor 语法,所以我坚持使用这种语法,但我想知道它是否可以完全清除。

我在想应该起作用的是:

<div class="firstColumn">
<% for (int rowCount = 0; rowCount < Model.TaskAttributes.Count; rowCount += 2)
   {
       Html.EditorFor(model => model.TaskAttributes[rowCount]);
   }
%>
</div>

但是,这不会在我的页面上呈现任何 EditorFor。看来 editorFor 之前的 '<%=' 很关键。有什么方法可以表达这一点而不必关闭和打开标签?

4

3 回答 3

1

这真的和它会得到的一样好。你需要有:

<%= Html.EditorFor(model => model.TaskAttributes[rowCount]) %>

...以便将输出发送到响应流。即使使用 MVC3 语法,您也必须编写:

@for (int rowCount = 0; rowCount < Model.TaskAttributes.Count; rowCount += 2) {
    @Html.EditorFor(model => model.TaskAttributes[rowCount])
}

而不仅仅是:

@for (int rowCount = 0; rowCount < Model.TaskAttributes.Count; rowCount += 2) {
    Html.EditorFor(model => model.TaskAttributes[rowCount])
}
于 2012-11-15T00:57:29.780 回答
0
<div class="firstColumn">
    @for (int rowCount = 0; rowCount < Model.TaskAttributes.Count; rowCount += 2)
    {
        @Html.EditorFor(model => model.TaskAttributes[rowCount])
    }
</div>
于 2012-11-15T00:51:44.600 回答
0

<%= 是 Response.Write() 的快捷方式。你试过吗?

于 2012-11-16T07:41:39.413 回答