我有一个带有搜索按钮的对话框弹出窗体,每次点击搜索时我都使用ajax调用一个动作方法。该方法根据用户输入的过滤器从db获取数据,然后action方法返回将显示webgrid的局部视图。我的问题是,当它显示webgrid的第一页很好,但如果我转到下一页,webgrid就会消失。 控制器
<div id="ASGrid">
</div>
<script>
$(document).ready(function () {
$("#ASearchbtn").click(function () {
var ASData = $("#AdvanceSearchForm").serialize();
$.ajax({
type: "POST",
url: "/SearchPayment/SubscriberLookUp",
data: ASData,
datatype: "html",
cache: false,
success: function (response) {
$("#AdvSearch").modal("hide");
$('#ASGrid').html(response);
},
complete: function () {
$("#AdvSearch").modal("hide");
}
});
})
})
查看:
public ActionResult GetGrid()
{
Member model = (Member)Session["UserSession"];
return PartialView("MemberGrid", model);
}
请帮助,我不知道我做错了什么或我没做什么。 我的猜测是,因为ajax调用只针对搜索按钮,所以它只会显示初始结果(第一页) 所以我想改变我的SubscriberLookup方法返回View(模型),然后在我的控制器中创建另一个方法:
function GetGrid(){
$.ajax({
type: "POST",
url: "/SearchPayment/GetGrid",
datatype: "html",
cache: false,
success: function (response) {
$("#AdvSearch").modal("hide");
$('#ASGrid').html(response);
},
complete: function () {
$("#AdvSearch").modal("hide");
}
});
}
然后 在我的主视图中创建另一个ajax调用:
{{1}}
但是它不起作用,它似乎没有进行第二次ajax调用。
还有一个问题,我可以对一个不是ActionResult的方法做[HttpPost]吗?
答案 0 :(得分:0)
我知道我迟到了。我遇到了同样的问题。 WebGrid 中的分页仅适用于 GET 请求。另外如果你添加一个int?从 Ajax 调用的 Action 方法的页面参数,您可以获得页码