我有两个文本输入,当单击按钮时,需要将其内容作为参数传递给某个操作。我正在使用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中用于此。这些对象让我有点困惑。有人可以为我澄清这个。谢谢!
答案 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)
参数取决于您的视图是否是强类型。以上假设不是。