ASP.NET MVC 实现登录后返回上一页面操作

  功能描述:当用户请求某页面时,若该页面需要登录后再进行操作,则将用户引导到登录页,登录成功后自动跳转回前一页面

//登录页视图代码
public
ActionResult Login(string repath) { string reUrl=""; if(!String.IsNullOrEmpty(repath)) { reUrl = repath; } else { string hostUrl=""; hostUrl = Request.UrlReferrer == null ? Request.Url.Host : Request.UrlReferrer.Host;
hostUrl = "http://" + hostUrl;
        pathUrl = Request.UrlReferrer == null ? "/" : Request.UrlReferrer.PathAndQuery;
reUrl = hostUrl + pathUrl;
}
     ViewData[ReUrl] = reUrl;
return View();
}


//登录页的post方法
[post]
public ActionResult Login(string userName, string pwd, string repath) { ....//该处判断登录是否成功 return Json(code = .., url = repath); }

  思路:转到登录页面时,在controller中记录返回路径ReUrl,然后通过ViewData将ReUrl传到登录页面的隐藏域中,登录请求时又将ReUrl传给post方法的Login,判断完登录是否成功后最后将这个ReUrl又传给前端,前端跳转成功。

  返回路径的传递方向:Login→Login(View)→Login(post)→前端

posted on 2017-10-18 20:21  flyingPigg  阅读(732)  评论(0编辑  收藏  举报

导航