你QueryOrders Action里返回的带有头导航的HTML,所以建议另外写一个Action,Ajax.BeginForm提交到新写的Action中,这个Action只返回不带头导航的内容
@artwl,谢谢,按你方法已经解决。
@StephenJu: 细看了下,还是我Action也写错了,如上建议可以实现。其实造成重复加载时Request.IsAjaxRequest()判断范围写错了。
如下:
public ActionResult QueryOrders(int? orderId, int id = 1) { using (var db = new NorthwindDataContext()) { PagedList<Orders> orders = null; if (Request.IsAjaxRequest()) { if (orderId.HasValue) { orders = db.Orders.Where(o => o.OrderID == orderId).OrderBy(order => order.EmployeeID).ToPagedList(id, 10); } else { orders = db.Orders.OrderBy(order => order.EmployeeID).ToPagedList(id, 10); } return PartialView("OrdersList", orders); } orders = db.Orders.OrderBy(order => order.EmployeeID).ToPagedList(id, 10); return View(orders); } }
在ajax请求的action里加一个“ViewData.Add("ajax", "true");“,然后,在这个view中,@model句后添加
@{ if(ViewData.ContainsKey("ajax")) { Layout = null; } }