ページセッションが期限切れになっているかどうかを確認し、期限切れに対応する操作解決方法を実行します.
how to check session is expired or not if expired then redirect to login page
プロジェクトでは、お客様がページを開く時間が長すぎるとページSessionが期限切れになりやすい場合、どんな操作をしても「Asp.Net session has expired」というメッセージが表示されます.これは結局、ユーザーがあまり友好的ではないので、Sessionが期限切れになったかどうかを判断し、期限切れになったらヒントを出したり、ページをリフレッシュしたりする必要があります.
replaceを使用すると、この問題は発生しません.このメソッドは、現在キャッシュされている履歴(クライアント)のアイテムを指定したURLで置き換える
Replaceとreloadの違いを添付します.
プロジェクトでは、お客様がページを開く時間が長すぎるとページSessionが期限切れになりやすい場合、どんな操作をしても「Asp.Net session has expired」というメッセージが表示されます.これは結局、ユーザーがあまり友好的ではないので、Sessionが期限切れになったかどうかを判断し、期限切れになったらヒントを出したり、ページをリフレッシュしたりする必要があります.
protected void Page_Load()
{
if (Context.Session != null)
{
if (Session.IsNewSession)
{
string cookieHeader = Request.Headers["Cookie"];
if ((null != cookieHeader) && (cookieHeader.IndexOf("ASP.NET_SessionId") >= 0))
{
Response.Redirect("sessionTimeout.htm");
}
}
}
}
現在のページをリフレッシュしたい場合はResponse.Write("");
解決します.ここではdocumentは使いません.location.reload();原因もある.reloadを使うとページが1つ増えてポップアップボックスが出てくるので、あまりよくないようです.replaceを使用すると、この問題は発生しません.このメソッドは、現在キャッシュされている履歴(クライアント)のアイテムを指定したURLで置き換える
Replaceとreloadの違いを添付します.
reload , 。
: location.reload([bForceGet]) : bForceGet, , false, 。true, GET , , F5(" ")
replace , URL ( ) , replace , “ ” “ ” URL。
: location.replace(URL)
, , : location.reload() history.go(0) 。 F5 , method="post" , “ ” 。 Session 。 : location.reload() , aspx , IsPostback 。 : , , Not IsPostback 。 ,location.replace() 。 replace 。 : location.replace(location.href)