ASP.NET做网页的问题~
我在母板里面写了这个
protected void Page_Load(object sender, EventArgs e)
{
if (Session["username"] == null)
Response.Redirect("login.aspx");
}
目的是为了让不登陆不能进入什么页面,但我加了这个以后,连登陆页面也打不开了,就是卡着什么也不显示,显示着打开什么,然后!该链接已经损坏~
这是为什么啊~~~
------解决方案--------------------我在猜想一种可能性:你Login.aspx页面是否是母页模板的内容页?
Login.aspx页面中PageLoad()事件无任何处理程序,加载完毕后紧接着加载模板页的PageLoad。。然后继续又跳转到Login.aspx页面。。。。
最后结果是就在一个一个无限跳转页面过程中被卡住?
------解决方案--------------------login.aspx是否也引用了母版页!
------解决方案--------------------写个基类吧 需要验证的页面后台继承这个基类
------解决方案--------------------使用Form 认证,然后webconfig里面做一下配置 可以做到。
------解决方案-------------------- Response.Redirect("login.aspx");
后加载了其他页面导致Session["username"] == null,进入死循环,建议修改if条件,使用用户名密码是否匹配或者其他条件做判断。
------解决方案--------------------写一个类 继承System.Web.UI.Page 重写OnInit方法,在重写的方法里面验证登录。 哪个页面需要登录 你就继承这个类,貌似你现在是login页面也验证是否登录,死循环了
------解决方案--------------------
public class BasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
if (Session["username"] == null)
Response.Redirect("login.aspx");
base.OnInit(e);
}
}