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 に答える