後目前我工作在其中創建一個登錄會話,當用戶輸入他的電子郵件地址和密碼 但是當會話過期,然後一段時間後一個項目登錄頁面出現,當我輸入詳細信息,然後我被重定向到主頁 會話過期前有什麼方法可以回到上一頁?如何重定向到前一頁在asp.net會話過期
0
A
回答
0
對不起打破它給你,但沒有辦法在Session_End中重定向,因爲沒有客戶那裏!當會話結束時,您將被重定向到destinationurl!
您可以重定向到登錄,但!打開Web.config文件,會話超時設置爲1分鐘這樣的:
<system.web>
<sessionState mode="InProc" timeout="1"/>
</system.web>
現在打開Global.asax文件和寫的在session_start事件下面的代碼:
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
if (Session["LoginUserName"] != null)
{
//Redirect to Welcome Page if Session is not null
Response.Redirect("Welcome.aspx");
}
else
{
//Redirect to Login Page if Session is null & Expires
Response.Redirect("Login.aspx");
}
在如果會話爲空,則Global.asax文件的上面的代碼將被重定向到Login.aspx。如果沒有,則重定向到Welcome.aspx。我在Global.asax文件中做了這個邏輯,因爲Global.asax文件事件是全局觸發的。
現在整個Global.asax文件將作如下安排:
<%@ Application Language="C#" %>
<script RunAt="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e){
// Code that runs when a new session is started
if (Session["LoginUserName"] != null)
{
//Redirect to Welcome Page if Session is not null
Response.Redirect("Welcome.aspx");
}
else
{
//Redirect to Login Page if Session is null & Expires
Response.Redirect("Login.aspx");
}
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
</script>
現在打開Login.aspx.cs頁,寫在登錄按鈕點擊下面的代碼:
protected void Button1_Click(object sender, EventArgs e)
{
Session["LoginUserName"] = Convert.ToString(TextBox1.Text);
Response.Redirect("Welcome.aspx");
}
在上面的代碼中,首先我們在會話中存儲登錄用戶名,以便我們可以在下一頁中獲得登錄用戶名,然後將頁面重定向到Welcome.aspx頁面。
現在寫在Welcome.aspx.cs頁面下面的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text="WelCome " +Convert.ToString(Session["LoginUserName"]);
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("AddUserDetails.aspx");
}
}
在上面的代碼,在用戶登錄到應用程序被重定向到Welcome.aspx頁面,所以我們是後從會話中加載當前用戶登錄名並分配給標籤。
我已經添加了另一頁是AddUserDetails.aspx並把它稱爲從上面的代碼決定,如果會話已過期。如果它已過期,那麼它將重定向到AddUserDetails.aspx頁面,否則它將進入Login.aspx頁面。現在
我們的應用程序已經準備好進行測試,所以讓我們運行應用程序。將顯示以下登錄頁面。
相關問題
- 1. 如何在會話cookie過期後重定向到頁面?
- 2. 如何在用戶會話過期時重定向到頁面?
- 3. 當會話過期時,ASP.NET MVC重定向到登錄頁面
- 4. 會話過期後重定向到先前瀏覽的網頁
- 5. 如何在會話過期後重定向jsp頁面?
- 6. 會話過期頁面重定向Asp.net c#
- 7. 在會話過期後重定向到登錄頁面
- 8. 重定向到會話過期的新頁面,在Zend_Auth中
- 9. 如何重定向頁面,當會話過期
- 10. 重定向到前一頁預期
- 11. 會話在Backbone.js中過期後,如何自動重定向到登錄頁面?
- 12. 重定向到會話後,不同的頁面過期
- 13. 會話過期時重定向到登錄頁面+ silex
- 14. Symfony重定向到會話過期後的登錄頁面
- 15. asp.net會話提前到期
- 16. 重定向到前一頁時,會話爲空
- 17. 如何重定向到前一頁
- 18. 會話過期時重定向 - [Magento]
- 19. 會話過期後自動重定向
- 20. 會話過期後CakePHP重定向
- 21. Spring Security 3.0.5會話過期重定向
- 22. 與後重定向會話過期
- 23. PHP會話過期重定向
- 24. 重定向到前一頁
- 25. ASP.NET Core在會話超時後未重定向到登錄頁
- 26. 如何在會話過期前保持同一頁面?
- 27. 如何在會話超時後重定向到指定頁面
- 28. ASP.NET MVC 3.0會話變量重定向過期?
- 29. 條紋 - 重定向,到期會話
- 30. 當會話cookie在Django中過期時重定向到登錄