通过定时reload回发某页面请求 避免因用户一直不操作而引起的Session过期

本文介绍了一种使用ASP.NET实现页面定时刷新的方法。通过设置隐藏域和JavaScript定时器配合服务器端逻辑,使得页面能够在指定时间内自动刷新,同时更新Session状态。

调用定时回发页面的主框架页面的Left菜单页面:

HTML部分
=======

ContractedBlock.gifExpandedBlockStart.gifCode
<from>
    /*  */
    
<iframe src="Message/RefreshMessage.aspx" height="0" runat="server" id="iframeRefresh" ></iframe>
</form>

.cs部分
=======

ContractedBlock.gifExpandedBlockStart.gifCode
protected void Page_Load(object sender, EventArgs e)
{

        
if (Session["isRefresh"!= null && Session["isRefresh"].ToString() == "1")
        {
            
this.iframeRefresh.Attributes["src"= "ReloadOnTime.aspx";
        }
        
else
        {
            
this.iframeRefresh.Attributes["src"= "OtherReloadOnTime.aspx";
        }
}

定时回发页面ReloadOnTime.aspx

HTML部分
=======

ContractedBlock.gifExpandedBlockStart.gifCode
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReloadOnTime.aspx.cs" Inherits="ReloadOnTime" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>刷新Session</title>
</head>
<body>
    
<form id="form1" runat="server">
        
<asp:TextBox ID="hidtxt_isRefresh" runat="server"></asp:TextBox>
    
</form>
</body>
</html>
<script type="text/javascript" language='javascript'>
window.onload
=function()  
{  
     
if(document.all.hidtxt_isRefresh.value=="1")
     {
         window.setInterval(
"fn_BtnEventOnTime()",600000);  
     }
}  
function fn_BtnEventOnTime()
{
     window.location.reload();
}
</script>

.cs部分
=======

ContractedBlock.gifExpandedBlockStart.gifCode
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ReloadOnTime : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        
//如果页面不让因用户不操作而过期
        if (Session["isRefresh"!= null)
        {
            
if (Session["isRefresh"].ToString() == "1")
            {
                
this.hidtxt_isRefresh.Text = "1";
            }
            
else
            {
                
this.hidtxt_isRefresh.Text = "0";
            }
        }
        
else
        {
            
this.hidtxt_isRefresh.Text = "0";
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值