我正在尝试根据工作机会的数量生成足够的分页链接。 (我正在建立与求职相关的事情。)
我试图在点击事件后调用Send函数,但我有另一个jQuery定位该列表。
<li class="active page-number"><a href="#" onclick="Send(2)">2</a></li>
<script>
///Custom scripts
///
function Send(page) {
$.post("/JobOffer/JobList/", { page: page });
}
$(document).ready(function () {
$(".pagination>li").click(function () {
$(".pagination>li.active").removeClass("active");
$(this).addClass("active");
});
});
</script>
所以当我点击&#34; .pagination&gt; li&#34;我转到使用[HttpPost]标记的JobOffer控制器中的Action JobList。
[HttpPost]
public ActionResult JobList(int? page)
{
var pageNumber = page ?? 1;
var pageSize = 3;
/*Some magic*/
viewModel.OfferCount = GetJobOfferCount(Enums.JobOfferType.Employer);
viewModel.PageSize = pageSize;
return View(viewModel);
}
然后我收到page参数为null。
如何将页面参数发送到我的操作方法? 提前谢谢。
答案 0 :(得分:1)
尝试使用带有@Url.Action()
和Action
名称的重载的Controller
帮助程序。并修改您的HTML以利用data-attribute
。只是您问题的简化解决方案。试试这个:
<li class="active page-number"><a href="#" data-page="2">2</a></li>
$(document).ready(function () {
$("a").click(function () {
var page = $(this).data("page");
$.post("@Url.Action("JobList","JobOffer")", { page: page });
$(this).parent().toggleClass("active");
});
});