我有一个在ASP.net和ASP开发的Web应用程序。 C#。我还使用Telerik ASP.NET AJAX进行Web UI。会话超时在母版页中处理如下:
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。
在会话超时和回发后有没有办法重定向到登录页面?或者如何处理这种情况?
答案 0 :(得分:2)
您必须使用global.asax中的session_start事件来处理此场景,因为在会话超时后,如果用户再次导致回发,则Session_Start() 事件被解雇了。
请查看here如何设置逻辑。
答案 1 :(得分:1)
使用if(Session.IsNew)
是一种方法。