asp.net mvc перенаправить на действие и передать параметр из пользовательского ввода - PullRequest
1 голос
/ 02 марта 2011

У меня есть страница с полем ввода и кнопкой, когда пользователь нажимает кнопку, которую я хочу перенаправить на действие контроллера, в качестве параметра которого указано значение поля ввода.

<input id="CodProiect" type="text" />
<input id="Cauta" type="button" value="Cauta" onclick="window.location.href='@Url.Action("Cauta", "Componente", new { CodProiect = "param" })';"/>

Какя могу получить "param" из поля ввода?

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Вы можете просто использовать форму с методом GET

<form action="@Url.Action("Cauta", "Componente")" method="GET">
  <input id="CodProiect" name="CodProiect" type="text" />
  <input id="Cauta" type="submit" value="Cauta" />
</form>

Форма добавит параметр как часть строки запроса URL, например www.yoursite.com/Cauta/Componente?CodProiect=user+entered+value

0 голосов
/ 02 марта 2011

Используйте form.

Форма:

<form action="Componente/Cauta">
    <input id="CodProiect" type="text" />
    <input id="Cauta" type="submit" value="Cauta" />
</form>

Контроллер:

public ActionResult Cauta(string CodProiect)
{
   //Do some stuff
}

Дополнительная информация: http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

Синтаксисможет быть устаревшим, но вы понимаете ...

0 голосов
/ 02 марта 2011

Значение действия подготавливается на стороне сервера и отправляется в браузер, поэтому вы не можете иметь значение на сервере, когда оно вводится пользователем.

Вы можете использовать jquery для изменения URL на стороне клиента.

Также передача состояния в сценарии PRG является распространенной проблемой в ASP NET MVC.Вы можете либо:

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