MVC EditorTemplate для списка, который не является частью модели - PullRequest
0 голосов
/ 07 марта 2012

На мой взгляд, я называю частичное представление для списка. В этом частичном представлении я разделяю этот список на два IEnumerables, и для каждого списка я хочу вызвать EditorTemplate для ModelType:

Мой PartialView:

@model List<ModelType>

@using System.Collections;         

@{
    int countModelTypeLeft = (Model.Count % 2 != 0) ? Model.Count + 1 : Model.Count ;
    int countModelTypeRight = Model.Count;

    IEnumerable<ModelType> modelTypeListLeft = Model.Take(countModelTypeLeft);
    IEnumerable<ModelType> modelTypeListRight = Model.Range(countModelTypeLeft , countModelTypeRight );
}
    <div class="modeltype-left" style="float: left; width: 50%;">
        // How can I call EditorFor for modelTypeListLeft  now?
    </div>

    <div class="modeltype-right" style="float: right; width: 50%;">
        // How can I call EditorFor for modelTypeListRight  now?
    </div>

Как видите, я застрял, потому что не могу вызвать EditorFor, потому что два списка modelTypeListLeft и countModelTypeRight не являются частью данной Модели в частичном представлении. Как решить эту проблему?

1 Ответ

2 голосов
/ 07 марта 2012

если у вас есть шаблон редактора для ModelType, то он все равно будет работать и использовать правильный шаблон редактора

<div class="modeltype-left" style="float: left; width: 50%;">        
    @foreach(var leftItem in modelTypeListLeft )
    {
        Html.EditorFor(m=>leftItem)
    }
</div>

<div class="modeltype-right" style="float: right; width: 50%;">        
    @foreach(var rightItem in modelTypeListRight)
    {
        Html.EditorFor(m=>rightItem)
    }
</div>
...