问题内容--提问时间: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
}