关于检查用户是否登录 在page_load里判断Session("name")是否为空来检查用户是否登录,但是我在地址栏直接输入地址页面时,有时候没走page_load,页面就直接出来了,这是怎么回事啊,哪位能告诉我下吗,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像同个IE的窗口,关了再开就会有这个问题的。你关掉IE再重新开一个,就不会了~ 可能还是判断时机的问题有时候页面先显示,然后又跳转到登录放到OnInit看看 authentication mode="Forms"protected void Page_Load(object sender, EventArgs e) { // 在此处放置用户代码以初始化页面 ///判断用户是否登陆 if (Session["UserID"] == null) { Response.Redirect("~/Login.aspx"); } if (!Page.IsPostBack) { Bind(false); } } to glt3260053:我不用form验证,不够灵活啊 to isboc :我是重开一个窗口来做的,还是这样,而且我是关掉调试了。。打开页面就是没进page_load page_load 事件里添加 if (!IsPostBack)判断 protected void Page_Load(object sender, EventArgs e) { if(!Page.Ispostback) { // 在此处放置用户代码以初始化页面 ///判断用户是否登陆 if (Session["UserID"] == null) { Response.Redirect("~/Login.aspx"); } if (!Page.IsPostBack) { Bind(false); } } } 没有走page_load除非你的代码里面有语法错误,或者你进行了拦截,否则都会进入page_load page_load 事件里添加 if (!IsPostBack)判断 没有走page_load除非你的代码里面有语法错误,或者你进行了拦截,否则都会进入page_load 汗。不可能语法错误啊。我页面都进去了,就是有时候没走page_load,有时候又会进page_load,我也搞不明白了。 if ((Session["UserID"] == null?"":Session["UserID"].ToString())=="") { Response.Redirect("~/Login.aspx"); } to wuyq11 :大哥啊。我page_load都没进去,你加那些代码有啥用呢 if(!Page.Ispostback){ 放这里} 最好是放在page_onint事件中重写page的OnInit protected override void OnInit(EventArgs e) { if (Session["name"] == null) { Response.Redirect("要转向的url"); } } 在 if(!Page.Ispostback) 外面判断 两种情况:1、session还没有过期,你再退出的时候没有清空session2、你在需要限制的页面没验证session是否为空. 新建如下类public abstract class PersonUserPage : Page { private bool _isUser; protected bool IsUser { get { return _isUser; } set { _isUser = value; } } protected override void OnLoad(EventArgs e) { if (Session["PersonName"] != null && Convert.ToString(Session["PersonName"]) != string.Empty) { this.IsUser = true; } else { Response.Redirect("/Person/PersonLogin.aspx"); } base.OnLoad(e); } }然后在你需要进行验证的页面中:public partial class Company_Search : PersonUserPage{就OK了会在基类中判断 to deknight:我就是这么用的啊。关键就是出现了没进page_load的情况。 那些验证放在onload里根本就没用to ppp7p:是session没清空的问题。 你都放在基类验证了,还page_load个啥?当然进不去了 在pageload方法里加if(!Page.Ispostback) { 判断session } 恩 要加上 if(!Page.Ispostback) { } 你只关了浏览器,可是session还在啊,所以直接通过地址就能访问了 你的cache没有清楚.请在你的aspx的页面中加上<%@ OutputCache Location ="None" %>这样页面就不会cache.. to canduecho:我想也是cache没清除的问题。不然不可能不走page_load事件的 无法识别的配置节 appSettings girdview最后一行取不到值 C#传递 mysql 存储过程 decimal参数的问题 [求助]asp.net和access的问题。急!!! Server.Transfer()的一个问题请教 一个与using有关的简单问题 水晶子报表问题 1!!!!!!!!!!! 新手求救 大家别学.net了,今天试用.net 2004(Whidbey) bate版,变化太多了! 一个简单问题?请大家帮助 .net 2003 升级到 .net 2008要注意什么问题 UpfileLoad上传带有中文文件名报错
你关掉IE再重新开一个,就不会了~
{
// 在此处放置用户代码以初始化页面
///判断用户是否登陆
if (Session["UserID"] == null)
{
Response.Redirect("~/Login.aspx");
}
if (!Page.IsPostBack)
{
Bind(false);
}
}
{
if(!Page.Ispostback)
{
// 在此处放置用户代码以初始化页面
///判断用户是否登陆
if (Session["UserID"] == null)
{
Response.Redirect("~/Login.aspx");
}
if (!Page.IsPostBack)
{
Bind(false);
}
} }
我也搞不明白了。
{
Response.Redirect("~/Login.aspx");
}
{
放这里
}
{
if (Session["name"] == null)
{
Response.Redirect("要转向的url");
}
}
外面判断
1、session还没有过期,你再退出的时候没有清空session
2、你在需要限制的页面没验证session是否为空.
{
private bool _isUser;
protected bool IsUser
{
get { return _isUser; }
set { _isUser = value; }
}
protected override void OnLoad(EventArgs e)
{
if (Session["PersonName"] != null && Convert.ToString(Session["PersonName"]) != string.Empty)
{
this.IsUser = true;
}
else
{
Response.Redirect("/Person/PersonLogin.aspx");
}
base.OnLoad(e);
}
}
然后在你需要进行验证的页面中:public partial class Company_Search : PersonUserPage
{
就OK了
会在基类中判断
那些验证放在onload里根本就没用to ppp7p:是session没清空的问题。
if(!Page.Ispostback)
{
判断session
}
{
}
请在你的aspx的页面中加上
<%@ OutputCache Location ="None" %>这样页面就不会cache..
我想也是cache没清除的问题。不然不可能不走page_load事件的