MVC中,查询以异步呈现,分页不用异步的解决方案
这种需求,用一个ASPX页面和一个ASCX分部视图就可以解决了,ASPX提供对ASCX的引用,ASCX显示列表信息,ASPX主页面提供查询功能
<% using (Html.BeginForm())
{%>
<%Html.RenderAction("AllPropertyForSelectList", "Common"); %><input type="button"
value="查询" class="button" id="search" />
<div id="list">
<%Html.RenderPartial("Common_BasePropValueList",Model); %>
</div>
<%} %>
查询功能的JS
<script type="text/javascript">
$(function () {
$("#search").click(function () {
$.ajax({
type: "POST",
url: "/Common_BaseProp/Index",
data: { page: "<%=Model.PageIndex %>", pid: $("#PID").val() },
success: function (data) {
$("#list").html(data);
}
})
});
});
</script>
controller代码:
public ActionResult Index(int? page, int? pid)
{
vp = new Entity.VPredication();
pp = new Entity.PagingParam(page ?? 1, PAGESIZE);
if (pid != null)
vp.AddItem("pid", pid);
Entity.PagedList<Common_BasePropValue_Ext> model = iCommon_BasePropValueService.GetAllBasePropValue(vp, pp);
if (Request.IsAjaxRequest()) //通过判断请求,来确定是返回页面,还是返回分部视图
return PartialView("Common_BasePropValueList",model);
else
return View(model);
}