نمایش پیام تمام شدن زمان session در asp.net با jquery
دوشنبه 22 دی 1393در این مقاله برای نمایش پیام تمام شدن وقت session از یک پلاگین jquery استفاده شده است
در این مقاله به دو مورد پرداخته می شود:
1- نشان دادن پیام قبل از تمام شدن تایم session
2- گذاشتن انتخاب برای کاربر که با session جاری ادامه دهد یا از سایت خارج شود.
همانطور که میدانید زمان session را باید در webconfig تنظیم کرد:
<system.web> <sessionState timeout="2"></sessionState> </system.web>
درقسمت سورس صفحه Default کد زیر را وارد کنید:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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 id="Head1" runat="server"> <title>Session Time Out Warning Message</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script> <script src="Script/timeout-dialog.js" type="text/javascript"></script> <link href="css/timeout-dialog.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" language="javascript"> function Timer(time) { setTimeout(TimeOut, time); } function TimeOut() { $.timeoutDialog({ timeout: 1, countdown: 60, keep_alive_url: window.location.pathname, logout_redirect_url: '/AutoSessionTimeOut/SessionTime.aspx', restart_on_yes: true }); } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblMsg" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
حال تابع timer را با استفاده از ScriptManager فراخوانی میکنیم:
و فایل Default.aspx.cs را به شکل زیر ویرایش کنید:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int _displayTimeInMiliSec = (Session.Timeout - 1) * 60000; if (Session["ID"] == null) { Session["ID"] = "New Session"; lblMsg.Text = Convert.ToString(Session["ID"]); } else lblMsg.Text = "Old Session"; ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "message", "<script type=\"text/javascript\" language=\"javascript\">Timer('" + _displayTimeInMiliSec + "');</script>", false); } }
حال برنامه رو اجرا کنید
- ASP.net
- 3k بازدید
- 5 تشکر