Вот альтернативный подход, так как я не мог связать подобъекты без явного связывателя модели:
определите новый класс для вашего ответа:
public class WorkRequestResponse
{
public int AssignedTo { get; set; }
}
На странице измените его следующим образом: (я изменил запрос на WorkRequest)
<% for (var i = 0; i < Model.WorkRequest.Count(); i++)
{ %>
<%=Html.DropDownListFor(x => x.WorkRequest[i].AssignedTo, new SelectList(Model.Vehicles, "Id", "Name", Model.WorkRequest[i].AssignedTo.Id))%>
<%}%>
На вашем контроллере свяжите следующим образом:
public ActionResult Index([Bind(Prefix = "WorkRequest")]List<WorkRequestResponse> AssignedTo)
{
// AssignedTo is now populated
WorkRequestList.WorkRequests = magic_assign_function(AssignedTo);
// manual model validation etc....
}
Я бы хотел посмотреть, есть ли более прямой маршрут, так как это меня тоже мучает.