我有以下代码:
@Html.PagedListPager(Model, page => Url.Action("Index", new {from = ? , to = ? , page}))
这是我的Action
方法:
public ActionResult Index(string from, string to, int? page)
{
}
我想指定来自选择器的from
和to
参数,其定义如下:
@Html.EditorFor(c => c.LastOrDefault().Date, "MyPickerTemplate")
@Html.EditorFor(c => c.FirstOrDefault().Date, "MyPickerTemplate")
如何将EditorFor's
的值作为参数发送给Url.Action
?我可以用javaScript找到它们,如下所示:
var from = document.GetElementByClassName("date")[0].value;
var to = document.GetElementByClassName("date")[1].value;
但我不知道我应该如何将它们作为参数发送到Url.Action
。
答案 0 :(得分:1)
var from = document.GetElementByClassName("date")[0].value;
var to = document.GetElementByClassName("date")[1].value;
现在你有两个参数。你可以调用ajax函数,如下所示。
$.ajax({
url: "/Controller/TheAction",
type: "get",
data: { fromParam: from, toParam: to }
});
这是控制器,
public ActionResult TheAction(DateTime fromParam, DateTime toParam)
{
// your code.
}
编辑: 您必须从寻呼机按钮单击调用ajax。为此,请执行以下操作。
<div id="myPager">
@Html.PagedListPager(Model, Page => "")
</div>
<script type="text/javascript">
$(function () {
$('#myPager').on('click', 'a', function () {
var currentPage = $(this);
// ajax call
});
});
</script>