日期:2014-05-17  浏览次数:20399 次

Response.Redirect不能跳转
protected void LoginButton_Click(object sender, EventArgs e)
        {
            Users user = new Users();
            user.UserId = LoginUser.UserName;
            user.UserPasswrod = LoginUser.Password;
            if (user.UserLogin())
            {
                Session.Add("UserInfo", user);
                Response.Redirect("DataDisplay.aspx", true);//断点调试确认这里已经执行。
                Response.End();
            }  
        }

Response.Redirect("DataDisplay.aspx", true);执行完了之后又回到当前的页面上了,但是浏览器的地址栏的地址由原来的http://localhost:3836/Account/Login.aspx变成了http://localhost:3836/Account/Login.aspx?ReturnUrl=%2fAccount%2fDataDisplay.aspx
请各位大侠指点一下,这是个什么情况?为什么不能跳转到我想要跳转的页面呢?

------解决方案--------------------
DataDisplay.aspx这页面是不是有权限限制,在DataDisplay页面设个断点看进去了没有
------解决方案--------------------
引用:
没有权限设置,那是个我新创建的空页面,里面什么代码都没写呢。另外,那个Login.aspx页面是我用VS2010创建网站的时候VS2010自动生成的,不是我自己创建的。

你创建一个空的网站,不要用模版创建
那个login.aspx启用了身份验证,你的用户密码没有通过身份验证所以又跳转到了原页面
只有后面的?reurl是为了记住你想要访问的网址,通过验证的时候直接跳转到那里
------解决方案--------------------
引用:
Quote: 引用:

那个login.aspx启用了身份验证,你的用户密码没有通过身份验证所以又跳转到了原页面
只有后面的?reurl是为了记住你想要访问的网址,通过验证的时候直接跳转到那里


可是我找了一天了,也没有找到它的那个验证代码在哪儿,我想把它删了,用我自己的验证。

在webconfig里面配置了
而且Users这个类本身就是微软做好的验证的类吧
------解决方案--------------------