<script type="text/javascript"> //用于编辑后更新页面 function reloadProduct(page) { $.get("/Admin/Product?page=" + page, "", function (response) { alert(response); $("#productList").html(response); }); } //省略。。。。 $.ajax({ type: 'post', url: '/Admin/Edit', data: productJson, success: function (json) { $("#product_window").dialog("close"); if (json.result != "false") { reloadProduct(json.result); //重新刷新页面 alert('恭喜你,修改成功!'); } else { alert('抱歉,修改失败!'); } } }); </script> 控制器: public ActionResult Product(int? page, GridSortOptions sort, string nameKey, string supplierKey) { using (var db = new MAH2OEntities()) { IQueryable<TProduct> tmpProducts = db.TProduct; //查询 if (!string.IsNullOrEmpty(nameKey)) { tmpProducts = tmpProducts.Where(p => p.Name.ToUpper().Contains(nameKey.ToUpper())); } if (!string.IsNullOrEmpty(supplierKey)) { tmpProducts = tmpProducts.Where(p => p.Supplier.ToUpper().Contains(supplierKey.ToUpper())); } //排序 ViewBag.sort = sort; if (sort.Column == null) { sort.Column = "ID"; //默认排序 } tmpProducts = tmpProducts.OrderBy(sort.Column, sort.Direction); //分页 PagedList<TProduct> resultProducts = tmpProducts.ToPagedList(page ?? 1, PAGESIZE); if (Request.IsAjaxRequest()) { return PartialView("ProductList", resultProducts); } return View(resultProducts); } }
IE7、IE8、谷歌浏览器可以正常更新页面,而IE9第一次可以正常更新,第二次以后更新页面都不会局部刷新。
$.ajax有个cache参数,默认是ture,设置为false试试。
$.ajax({ cache:false });
又一次看到老大回答我的问题,太感谢了~老大的这种方法也可以~~
cache:false,这是实质上是不是Jquery的Ajax内部也是加上了一个随机数参数呢?
根据在EXT 中的Ajax 和动态加载js,貌似都是加了随机参数!
=========请指教====谢谢
$.get("/Admin/Product?page=" + page, "", function (response) ..........
请求的url后面再加一个参数(随机数吧),处理页面忽略这个随机数参数就可以了!!
谢谢,这种方法可以~
直接用post请求,get会缓存