Передача значения текстового поля с использованием Html.ActionLink - PullRequest
5 голосов
/ 06 декабря 2009

У меня есть таблица, в которой перечислены продукты, а также отображается текстовое поле количества и Html.ActionLink. Каждое текстовое поле количества имеет уникальный идентификатор, полученный из идентификатора продукта. Я думаю, что это должно быть просто, но я не могу понять, как получить значение в соответствующем текстовом поле, передаваемое моему контроллеру, когда пользователь нажимает на ссылку. Мой код ниже, и любая помощь приветствуется.

    <% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.Encode(item.Id) %>
        </td>
        <td>
            <%= Html.Encode(item.Description) %>
        </td>
        <td>
            <%= Html.Encode(String.Format("${0:F}", item.Cost)) %>
        </td>
        <td>
            <%= Html.TextBox(String.Format("quantity{0}", item.Id), "0") %>
        </td>
        <td>
            <%= Html.ActionLink("Add", "Add", new { id = item.Id, quantity="I want the quantity here?" })%>
        </td>
    </tr>

Ответы [ 2 ]

3 голосов
/ 01 января 2010

Нет способа сделать это в HTML, поэтому нет способа сделать это в ASP.NET MVC.

Существует два возможных решения этой проблемы:

  1. Используйте JavaScript таким образом, чтобы при редактировании пользователем текстового поля вы динамически изменяли значение тега привязки, чтобы включить в него то, что они ввели. Для этого нельзя использовать маршрутизацию ASP.NET, поскольку она выполняется на сервере и вам нужен код на стороне клиента.

  2. Заполните форму, а не ссылку. Это рекомендуемый способ в HTML. Когда пользователь отправляет данные, они должны быть в форме. Оберните все в тег формы и поместите туда текстовое поле и кнопку. Задайте в качестве действия формы URL-адрес, по которому вы хотите опубликовать сообщение.

2 голосов
/ 06 декабря 2009

Я думаю, что вы хотите, это:

<%= Html.TextBox(String.Format("item[{0}].quantity", item.Id), "0") %>

Посмотрите следующую запись в блоге Скотта Хансельмана для получения более подробной информации об этом:

Формат провода ASP.NET для привязки моделей к массивам, спискам, коллекциям, словарям

Смотрите также этот пост от Стива Сандерсона. Это позволит вам редактировать отдельные элементы:

Редактирование списка элементов переменной длины в ASP.NET MVC

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