MVC3 Not Posting whole Model

Я довольно новичок в MVC и действительно пытаюсь привыкнуть к привязке модели. У меня есть простая модель, которую я создал в форме. Однако, когда я публикую эту форму, только значения текстового поля переносятся в контроллер. Мне также нужно поле описания, которое делается с помощью DisplayTextFor. Придется ли мне для этого создавать пользовательскую связку моделей? Я могу пойти коротким путем и просто сделать описание текстовым полем только для чтения без границ, чтобы оно выглядело как текст, но я хочу сделать это правильно. Вот мой код:

public class FullOrder
{
    public List<FullOrderItem> OrderList { get; set; }
    public string account { get; set; }
    public string orderno { get; set; }
}

public class FullOrderItem
{
    public int? ID { get; set; }
    public int? OrderId { get; set; }
    public string Description { get; set; }
    public int Qty { get; set; }
    public decimal? Price { get; set; }
}

Вот представление

<table class="ExceptionAltRow">
    <tr style="background-color: #DDD;">
        <td class="strong" style="width:500px;">
            Description
        </td>
        <td class="strong" style="width:100px;">
            Qty
        </td>
        <td class="strong" style="width:100px;">
            Previous Purchases
        </td>
    </tr>
    @for (int i = 0; i < Model.FullOrder.OrderList.Count(); i++)
    {
        <tr>
            <td>
                @Html.DisplayTextFor(m => m.FullOrder.OrderList[i].Description)
            </td>
            <td>
                @Html.TextBoxFor(m => m.FullOrder.OrderList[i].Qty, new { @style = "width:50px;" })
            </td>
        </tr>
    }
    </table>

Вот контроллер:

[HttpPost]
public ActionResult AddItem(FullOrder f)
{
    //doesn't work description is not passed but qty is
}

Есть ли способ заставить мою модель просто передавать описание поста, даже если это не текстовое поле для связанного элемента из моей модели?

7
задан CAbbott 24 January 2012 в 18:37
поделиться