Вызов контроллера из поля зрения, пропуск текстовых полей ввода - PullRequest
1 голос
/ 20 сентября 2011

У меня есть два текстовых ввода, содержимое которых необходимо передать определенному действию в качестве параметров при нажатии кнопки. Я использую MVC3 Вид:

<input name="input2" type="text"  class="inputfield" id="datepicker_1" /></td>
<input name="input2" type="text"  class="inputfield" id="datepicker_2" /></td>

@Html.Action("Search", ...)

Контроллер: Публичный поиск ActionResult (...) Я полагаю, что для этого необходимо использовать объект routeValues ​​или RouteValueDictionary в @ Html.Action. Эти объекты меня немного смущают. Может ли кто-нибудь уточнить это для меня, пожалуйста. Спасибо!

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

Html.Action, вероятно, сгенерирует html-ссылку до того, как вы предоставите входные данные. Вам нужно либо поместить свои входные данные в форму, которая будет передана вашему действию, либо использовать ajax, возможно, с помощью jquery, для вызова действия, например:

@using (Html.BeginForm("Search", "Controller", FormMethod.Post, new { id = "frmAction" }))
{
    <input name="datepicker_1" type="text"  class="inputfield" id="datepicker_1" /></td>
    <input name="datepicker_2" type="text"  class="inputfield" id="datepicker_2" /></td>
}


[HttpPost]
public ActionResult Search(Datetime datepicker_1, Datetime datepicker_2) {...}

Для примера Ajax, проверьте этот вопрос:

jquery ajax формы для ASP.NET MVC 3

Надеюсь, это поможет ...

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

Похоже, вам нужно отправить на ваше представление, а затем реализовать действие post на вашем контроллере для обработки отправки. То есть что-то вроде

 <input type="submit" value="Search..." />

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

[HttpPost]
public ActionResult Search(FormCollection collection)

параметры зависят от того, строго ли типизирован ваш взгляд. Вышесказанное предполагает, что его нет.

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