星辰.Net技术社区--关于登陆后返回原页面的问题

网站首页 » 百科首页 » ASP.NET » 关于登陆后返回原页面的问题
相关文章推荐:
  1. 如何把string解析为int?
  2. C# String小技巧
  3. 详述字符串之.NET Framework String 类
  4. 如何改善C#代码执行效率(二):深入理解string和如何高效地使用string
  5. C#--String.Format格式说明
相关问题推荐:
  1. document.getElementById(tag)错误
  2. 翻译成没有为类型String和String的一维数组定义运算符"+",
  3. TD中实现判断
  4. 如何防止查询为0行时出错
  5. 问ASP.NET中用Calendar控件的问题
问题内容--提问时间:2008-8-26 18:17:57
比如 add_admin这样页是需要登陆才进的了的,
所以我在add_admin里加了一段验证session是否为空的代码:
if (!IsPostBack)
        {
            Server.Execute("isadmin.aspx");//判断isadmin.aspx里的内容

isadmin.aspx的代码:

        if (Session["username"] == null)
        {
            Response.Redirect("Login.aspx?return="+Request.UrlReferrer.ToString());//当没有登陆的时候返回登陆页
        }
现在我直接在IIS上启动add_admin,这样的话他应该先在isadmin.aspx里检测下,然后再返回Login.aspx?return="+Request.UrlReferrer.ToString());现在确实转到login.aspx页去了,可是地址栏上也还是login.aspx,而不是login.aspx?retuen=(...add_admin.aspx),所以当登陆进去以后不会回到登陆前的那个页,这是怎么回事啊
答案
需要登录返回的页面,在Page_Load事件中,第一行写上下面一行code:
C# code
Session["CurrentPagePath"] = Request.RawUrl.ToString();

然后在登录验证成功之后,做页面导向判断:
if (Session["CurrentPage"] != null)
{
//导向 Session["CurrentPagePath"].ToString()
}
else
{
//导向Default.aspx
}