login.aspx 初始session然后每个页面如果session == null Response.Redirect login.aspx有没有个简单的方法,不用在每个页面写 if(session == null) ....只在一个地方写if(session == null) ... 不用在每个页面写if(session == null) ...
login.aspx 初始session然后每个页面如果session == null Response.Redirect login.aspx有没有个简单的方法,不用在每个页面写 if(session == null) ....只在一个地方写if(session == null) ... 不用在每个页面写if(session == null) ...
{
protected overrider OnInit(EventArgs e) {
// if(Session .....
}
}然后所有 .aspx.cs/.aspx 继承此页面
{
protected overrider OnInit(EventArgs e) {
// if(Session .....
}
}
如:
public class BasePage : System.Web.UI.Page然后你可以在BasePage类别中写你整个专案共用的属性,方法和函数,如我常用的几个方法.
//验证是否成功登录
public bool LoginOk
{
get
{
return (Session["LoginOk"] != null && (bool)Session["LoginOk"]);
}
set
{
Session["LoginOk"] = value;
}
} //登录验证
public void LoginAuthorizationed()
{
if (!LoginOk)
{
Response.Redirect("~/Login.aspx");
}
}等.最后,你可以在需要共用的页面,继承这个BasePage类别即可.
aspx.cs/.aspx 怎么样继承?public class 其它页面 : PageBase ?
{}public class YourPage : BasePage
{}
{
/// <summary>
/// Basepage 的摘要说明。
/// </summary>
public class Basepage: System.Web.UI.Page
{
public Basepage()
{
//if(Session["权限"].ToString() ==null)
// {..}
System.Web.HttpContext.Current.Response.Write("<script>alert('请登陆')</script>");
//
// TODO: 在此处添加构造函数逻辑
//
}
}
}
不用Session没问题如果用Session报错
只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态试了
<%@ Page EnableSessionState="True"%><configuration>
<system.web>
<pages enableSessionState="true" />
</system.web>
</configuration>
都不管用
PS:不建议if(session == null) ... 这样的写法
最好用正则表达式验证会更严谨些
====================================
if(Session["权限"] == null)如果你的Session["权限"]为null,那么ToString()的时候肯定要报空引用异常的
大家都说绝了,我只能顶了。
============================================================================引自
public class Basepage: System.Web.UI.Page
{
public Basepage()
{
//if(Session["权限"].ToString() ==null)
// {..}
System.Web.HttpContext.Current.Response.Write("<script>alert('请登陆')</script>");
//
// TODO: 在此处添加构造函数逻辑
//
}
}
2.写登陆控件