日期:2014-05-19  浏览次数:20840 次

vs2003 asp.net 网站开发中怎样实现要求用户登陆后自动返回他刚才访问的那个页面?
大家好,首先在一个页面加载时检测到需要用户登陆,这时怎样弹出一个登陆页面?
我说的是那种工具栏,地址栏都没的 弹出窗口
然后,登陆验证后,怎样让它自动返回到用户刚才浏览的页面?



------解决方案--------------------
if (Session[ "UserID "] == null || Session[ "UserID "].ToString().Length == 0)
{
Response.Redirect( "index.aspx?QueryString= " + Server.UrlEncode(Request.ServerVariables[ "QUERY_STRING "]) + "&ret_page= " + Server.UrlEncode(Request.ServerVariables[ "SCRIPT_NAME "]));
}

这个是检测到用户没有登录时,返回到登录页的语句,登录后会重新返回到刚打开的页面.你自己测试一下.
------解决方案--------------------
建立一个basepage.cs 比如

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


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


public BasePage()
{ }
protected override void OnInit(EventArgs e)
{
if (Session[ "CurrentUser "] == null)
{
HttpContext.Current.Response.Write( " <script language=javascript> top.window.location.replace( 'index.aspx '); </script> ");
HttpContext.Current.Response.End();
return;
}
else
{
//...
}

//---
base.OnInit(e);
}
}

所有 需要 判断 用户登录信息的页面都 继承至basepage
public class popedom_usermgr : BasePage
{
//...
}
登录 页面 使用
Session[ "CurrentUser "] 来保存用户信息