如何重定向到登录后输入的URL

时间:2013-12-07 16:03:09

标签: c# asp.net http-redirect

我正在使用基于ASP.NET和C#的WEB项目。这不是一个新项目,我只是修复了一些错误并进行了一些更新。

网站的工作原理是,如果您没有登录并根据网站编写网址,则会将您重定向到登录页面。然后,如果您成功登录,它会将您重定向到开始页面。

例如,假设“opening.aspx”是开头页面,“vendors.aspx”是网站中的另一个页面。如果您将“.... / projectname / vendors.aspx”写入浏览器,则会被重定向到“.... / projectname / login.aspx”,然后在您登录后重定向到“... ./projectname/opening.aspx“

现在,我的目标是将用户重定向到他写的网址,在此示例中,“.... / projectname / vendors.aspx”成功登录后。我编写了代码以获取上一页,并在登录后将用户重定向到该页面。但是,我无法检测到用户第一次尝试输入的页面。我不确定该项目是否将用户发送到登录页面,其中包含一些由以前程序员编写的代码,或者这是asp.net关于默认页面的自动内容。在调试时,我总是将请求的页面看作登录页面,即使我将一些其他页面URL写入浏览器。

我正在寻找的是将请求的页面更改为登录页面而不是我编写的URL的位置。这是自动的东西还是应该在代码中查找?如果我应该在代码中查找它,在哪里看?

注意:该项目基于3层体系结构,WEB,BUS,DAL和COM层以及WEB页面在每个页面中使用用户控件而不是登录和默认。

2 个答案:

答案 0 :(得分:2)

通常,当asp.net重定向时,它会将请求的页面放在ReturnUrl querystring参数的url中。你应该可以做一些像......

if (Request.QueryString["ReturnUrl"] != null)
    Response.Redirect(Request.QueryString["ReturnUrl"]);

如果您需要做一些特别的事情,您可以将ReturnUrl中的原始页面存储在会话或数据库之类的内容中,然后在打开页面后重定向或不重新定位。

答案 1 :(得分:2)

我认为当用户登录保存在Cookie中的用户详细信息时,您应该使用Cookie和seeion

下次当用户输入网址时,如果可以获得详细信息,可以在网页的母版页上检查cookie是否可用,然后在当前网址页面重新定位登录页面