登录后Asp.Net页面重新加载问题

时间:2010-05-09 09:19:58

标签: c# asp.net

我正在开发一个Web应用程序。问题是我使用的是登录控件(不是.NET控件),它是母版页的一部分,并且可以从所有页面访问。如果用户从页面登录,则登录控件会自行更新并显示已登录用户的某些统计信息,但不会重新加载特定页面。 (页面上的某些选项仅对经过身份验证的用户可见,因此在登录后,应重新加载页面以显示此类选项)

在logIn方法之后我写了

Reponse.Redirect(Request.Url.AbsoluteUri)

此后浏览器响应“无法显示页面”

这对我有很大的帮助。

非常感谢,问候。阿扎

3 个答案:

答案 0 :(得分:1)

从你的描述中不清楚会发生什么,但是当页面被反复重定向到自身时,很有可能会出现无限循环。

将重定向代码放在Page_Load中的最明显的问题,

尽可能的解决方案:

  1. 将Reponse.Redirect(Request.Url.AbsoluteUri)置于登录控件的OnLogin事件
  2. 如果你想要使用Page_Load,至少添加以下检查:

    如果(的IsPostBack)     Reponse.Redirect(Request.Url.AbsoluteUri)

  3. 但是最后一种情况非常糟糕,因为可能会有很多副作用。

答案 1 :(得分:1)

  1. 确保您的重定向不会导致循环。检查Page.IsPostBack

  2. 请注意,此操作期间POST变量会丢失。

答案 2 :(得分:0)

您应该看到的另一件事是您在文件夹中允许的角色(在文件夹的web.config文件中)。

我不小心拼错了角色名称,并且不断将用户重定向到登录页面。