思路:当页面被打开后自动去执行一个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=="浏览次数"【标识】,目的是查出唯一一个实体。