2011-12-08 101 views
0

我有一个在ASP.net开发的Web应用程序& C#。我还为Web UI使用Telerik ASP.NET AJAX。会话超时在主页面中处理如下:处理会话超时而回发

public partial class Master: System.Web.UI.MasterPage 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["UserName"] == null) 
     Response.Redirect("~/Login.aspx"); 
} 

这工作正常,如果我尝试在会话超时后加载页面。但如果我尝试执行回发它会引发NullReferenceException。

有没有什么办法可以在会话超时和回发时重定向到登录页面?或如何处理这种情况?

回答

2

您必须在global.asax中使用session_start事件来处理这种情况,因为在会话超时之后,如果用户再次发回帖子,则会触发Session_Start()事件。

请看here如何放逻辑。

+0

它适用于页面加载。但不适用于回传! –