思路:当页面被打开后自动去执行一个ajax请求,后台方法执行+1更新之后,再查询出全部访问量以json的格式返回给界面。
首先,界面ajax请求
if (!window.name) {//window.name用于防止刷新 首次打开时执行此处 $.ajax({ url: 'controller/action',// 跳转到 action //data: '浏览次数',//用于请求时标识作用的 dataType: 'json', success: function (data) { //具体操作 }, error: function () { // view("异常!"); alert("异常!"); } }); window.name = 'need'; } if (window.name == "need") {//在当前页刷新时执行此处 $.ajax({ url: 'controller/ation2',// 跳转到 action // data: '浏览次数', dataType: 'json', success: function (data) { //逻辑 }, error: function () { // view("异常!"); alert("异常!"); } }); }
服务器端:
public ActionResult GetBrowseTimes()//第一次进入页面时加载该方法 { //根据浏览次数查询 var entity= _dxcBaseMessageService.GetAllDxcBaseMessages().FirstOrDefault(x => x.times == "浏览次数");//通过标识获取唯一一个实体 entity.BrowseTimes++; _dxcBaseMessageService.UpdateDxcBaseMessage(entity); var BrowseTimes = _dxcBaseMessageService.GetAllDxcBaseMessages().FirstOrDefault(x=>x.times=="浏览次数").BrowseTimes; return Json(new { BrowseTimes = BrowseTimes } , JsonRequestBehavior.AllowGet); } /// <summary> /// 刷新对应 只需要查询即可 /// </summary> /// <param name="data"></param> /// <returns></returns> public ActionResult GetBrowseTimes2() { //根据浏览次数查询 var BrowseTimes = _dxcBaseMessageService.GetAllDxcBaseMessages().FirstOrDefault(x => x.times== "浏览次数").BrowseTimes; return Json(new { BrowseTimes = BrowseTimes }, JsonRequestBehavior.AllowGet); }
注意:在此处的用法需要与数据库配合使用,需要在数据库相应的表中单独插入一个关于浏览次数的数据(写死在数据库中),每次都去操作此条数据。故需要在该条数据中选择一个特定的标识,标定该条数据的唯一性。比如上述的在数据库中存入times=="浏览次数"【标识】,目的是查出唯一一个实体。