net怎样防止静态内容被刷新butto刷新页面

 我来答
小熙自媒体
2016-10-29 · 知道合伙人软件行家
小熙自媒体
知道合伙人软件行家
采纳数:1727 获赞数:34135
从事5年的互联网行业,有着丰富的互联网经验,互联网管理,网络

向TA提问 私信TA
展开全部
  public static class RefreshAction
  {
  // 常量
  //服务端票证key
  public const string LastRefreshTicketEntry = "__LASTREFRESHTICKET";
  //客户端票证key
  public const string CurrentRefreshTicketEntry = "__CURRENTREFRESHTICKET";
  //用来保存是否是重复刷新的属性的key
  public const string PageRefreshEntry = "IsPageRefresh";
  private static Hashtable requestHistory = null; //存储请求历史
  // 检测F5按钮是否被按下
  public static void Check(HttpContext ctx)
  {
  //初始化服务端票证
  EnsureRefreshTicket(ctx);
  //从Session里读取上一次提供的票证
  int lastTicket = GetLastRefreshTicket(ctx);
  //从请求里的隐藏域里读取当前页面的票证
  int thisTicket = GetCurrentRefreshTicket(ctx);
  // 对比两个票证
  if (thisTicket > lastTicket ||
  (thisTicket == lastTicket && thisTicket == 0))
  {
  //如果当前的票证值大于上一次的票证值 或者
  //当前票证值等于上一次票证值,并且当前票证值为0(这是第一次刷新)
  //那么更新Session里上一次的票证值为当前票证值
  UpdateLastRefreshTicket(ctx, thisTicket);
  //设置当前页是否重复刷新属性为false
  ctx.Items[PageRefreshEntry] = false;
  }
  else
  {
  //设置当前页是否重复刷新属性为true;
  ctx.Items[PageRefreshEntry] = true;
  }
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式