Конечно, вы не можете заставить это работать таким образом
Во-первых, вы должны знать, что привязка модели происходит в основном с использованием данных, отправляемых со входов на стороне клиента.Html.DisplayTextFor
Помощник не генерирует ввод, он генерирует простой текст.Тексты не участвуют в данных, отправляемых клиентом при отправке формы, поэтому вы не получите привязку к модели.Если вы посмотрите на свойство Request.Form
, вы должны увидеть доказательство - там нет полей описания.
Что вы можете сделать, если хотите отображать текст, а также позволить описанию участвовать в значениях формы, этоиспользовать скрытое поле.MVC получил помощника для этого
@for (int i = 0; i < Model.FullOrder.OrderList.Count(); i++)
{
<tr>
<td>
@Html.DisplayTextFor(m => m.FullOrder.OrderList[i].Description)
@Html.HiddenFor(m => m.FullOrder.OrderList[i].Description)
</td>
<td>
@Html.TextBoxFor(m => m.FullOrder.OrderList[i].Qty, new { @style = "width:50px;" })
</td>
</tr>
}
Таким образом, отправленная форма также будет содержать значения описания