MVC2: Как я могу прочитать управляющие значения для ссылки на действие?

StackOverflow https://stackoverflow.com/questions/2030124

Вопрос

Я передаю некоторую информацию о моделе в перевод ActiveLink, но я также хотел бы предоставить действие значениями некоторых входов на странице. Например, если у меня было что -то вроде этого:

<input Name="MyInput" />

<%: Html.ActionLink("MyAction", "MyController", Model.Value);

Я хотел бы, чтобы действие было осведомлена об обеих моделях. Обычно я использовал бы FormCollection, но в этом случае я не могу, потому что не делаю представление.

Итак, как я могу передать значение MyInput в MyAction? Придется ли я добавить свойство под названием MyInput в мою модель? Предполагая, что это сработает, есть ли более простой способ или, по крайней мере, тот, который не включает в себя изменение модели?

Это было полезно?

Решение

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

Есть два возможных решения, которые вы можете выбрать:

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

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

Это тот же ответ, что и я этот вопрос, хотя у запрашивателя другого вопроса, возможно, была немного другая идея.

Другие советы

Я определил, что, вероятно, мог прочитать значения текстового поля через JavaScript (я, вероятно, использовал бы jQuery) и пропустил их в качестве параметров как часть анонимного типа (вместо того, чтобы просто использовать model.value). Тем не менее, я решил переключиться с использования ссылки на действие на простое выполнение формы и использование формы. Это просто имело больше смысла со страницей, которую я строил.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top