Отправка списка <T>предметов - PullRequest
0 голосов
/ 15 сентября 2011

Просто быстрый вопрос от новичка до профессионала.

Я пытаюсь реализовать редактируемую форму типа сетки в моем приложении.Вот пример.

 @for (int i = 0; i < Model.Items.Count; i++)
    {
        <tr>
            <td>@Html.CheckBoxFor(m => m.Items[i].fav_ind)
            </td>
            <td>
                <a href="#" onclick="ShowDeals(@Model.Items[i].item_no);event.returnValue = false; return false;">
                    DEALS</a>
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].item_no)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].item_desc)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].mfr_item)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].pack_size)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].purc_uom)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].purc_uom_conv)
            </td>
            <td>@Html.DisplayFor(m => m.Items[i].list_prc)
            </td>
            <td>
                @Html.TextBoxFor(m => m.Items[i].nett_prc)
            </td>
            <td>
                @Html.TextBoxFor(m => m.Items[i].Qty)
            </td>
        </tr>
    }

Этот @for находится внутри Html.BeginForm, потому что я хочу, чтобы пользователь мог редактировать последние 2 поля (nett_prc и qty. Также есть нижняя часть для отправки нанижняя часть этой сетки (таблица).

Теперь для вопроса, когда я отправляю, я получаю все строки обратно в контроллере, но для элементов только 2 поля, где есть Html.TextBoxFor ()есть данные в нем. Я хочу получить все поля в контроллере. Я знаю, что я могу использовать @ Html.HiddenFor (), но я хочу иметь возможность отображать другие поля в метках, и когда пользователь отправляет, я хочу, чтобыценит задницу хорошо.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 сентября 2011

Вы можете сделать одновременно и DisplayFor, и HiddenFor:

<td>
    @Html.DisplayFor(m => m.Items[i].item_no)
    @Html.HiddenFor(m => m.Items[i].item_no)
</td>

Однако, зачем вам HiddenFor? Если пользователь не должен редактировать некоторые значения, вы все равно не можете доверять значениям, которые приходят из формы. И если вы не можете доверять им, вам придется читать оригиналы (например, из базы данных). Что HiddenFor покупает здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...