首页 新闻 会员 周边

继承PAGE页面的错误

0
悬赏园豆:5 [已关闭问题]

 很简单的权限继承体系,

  public class BasePage : System.Web.UI.Page
    {

  protected override void OnPreInit(EventArgs e)
        {
   //没有登陆
            if (Session["UserInfo"] == null)
            {
           Response.Redirect("Login.aspx", true); -- 当去掉这一句时B页面就不会出现阻塞状态.

}

  base.OnPreInit(e);

}

 

上面的代码我就不重复什么意思了,   我现在将奇怪现像描述一次,

当在Login.aspx 里面,给Session赋值并登陆进来以后,  在Default.aspx页面中, 只有两个超链接,

 <a href="A.aspx" target="_blank">A</a>

 <a href="B.aspx" target="_blank">B</a>

 当打开A页面并点击查询,  A页面的查询大约需要10分钟左右(大家不要问为什么要查这么久),

在查询的同时再打开B页面时, B页面一直打不开, 一直是阻塞状态, 但B页面是一个空页面, 没有操作,

但是将BasePage类的  "  Response.Redirect("Login.aspx", true); " 这一句给注解

的时候, B页面就不会有阻塞状态, 

大家帮帮忙解答一下.  

 

 

 

 

不若相忘于江湖的主页 不若相忘于江湖 | 初学一级 | 园豆:51
提问于:2010-01-12 20:05
< >
分享
其他回答(3)
0

Login页是不是也继承BasePage了?

Gray Zhang | 园豆:17610 (专家六级) | 2010-01-12 23:16
没有继承. 这点可以肯定.
支持(0) 反对(0) 不若相忘于江湖 | 园豆:51 (初学一级) | 2010-01-13 09:49
0

正如,Gray Zhang所说,有可能:  Login页也继承BasePage,出现死循环。

你可以试试改下参数:

Response.Redirect("Login.aspx", false);

http://www.cnblogs.com/downmoon/archive/2008/02/01/1060816.html

关于Server.Execute方法,请参考微软网站

使用 Server.Execute 方法


HttpServerUtility.Execute 方法 (String)


HttpServerUtility.Execute 方法 (String, TextWriter)

 



邀月 | 园豆:25475 (高人七级) | 2010-01-13 09:25
0

要看AB页面的逻辑。

风海迷沙 | 园豆:4453 (老鸟四级) | 2010-01-13 10:34
A页面的按钮事件里就Thread.Sleep(1000*100) B页面是一个空页面. 当A和B页面继承System.Page时, 不会出现阻塞状态 而继承了BasePage类时, 却会出现阻塞状态
支持(0) 反对(0) 不若相忘于江湖 | 园豆:51 (初学一级) | 2010-01-13 11:16
0

为什么不打断点?

先运行Login.aspx并登陆,然后跳转到 A.aspx并查询。

当A页面查询开始后,在 PreInit页面打个断点,然后运行B页面。

看会出现什么情况?

sunshaozong | 园豆:325 (菜鸟二级) | 2011-03-19 18:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册