从视图中调用控制器,传递输入文本字段

时间:2011-09-20 18:33:55

标签: asp.net-mvc asp.net-mvc-3 controller

我有两个文本输入,当单击按钮时,需要将其内容作为参数传递给某个操作。我正在使用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 个答案:

答案 0 :(得分:2)

在您提供输入之前,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 forms for ASP.NET MVC 3

希望这会有所帮助......

答案 1 :(得分:0)

您似乎需要在视图上提交,然后在您的控制器上实施后期操作,以处理提交。即

的内容
 <input type="submit" value="Search..." />

在视图中,

[HttpPost]
public ActionResult Search(FormCollection collection)

参数取决于您的视图是否是强类型。以上假设不是。