0

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

Моего 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> 

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

ответ

2

, если у вас есть шаблон редактор для 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> 
+0

Я хотел взять adavantage того факта, вызывающий '@ Html.EditorFor' с IEnumberable делает MVC выбрав правильный шаблон EditorTemplate для данной модели. Но ваш ответ дал мне правильный намек: '@ Html.EditorFor (model => modelTypeListLeft)' вызывает EditorTemplate для каждого элемента в списке! Но в любом случае я не знал, что выражение параметра в MVC всегда означает, что я должен дать часть данной модели, но вы просто доказали, что это не так. Как я могу узнать больше о выражении? – iappwebdev

+1

:), Не знаете, какие ресурсы я могу вам указать ... писать больше кода определенно помогает;) – labroo

+0

если ответ имеет смысл, вы можете отметить его как ответ, пожалуйста. (: P Greedy) – labroo

 Смежные вопросы

  • Нет связанных вопросов^_^