使用ASP.NET Web窗体和路由处理返回URL

时间:2012-11-20 14:18:03

标签: asp.net routing webforms url-routing webforms-routing

我有一个ASP.NET Web表单应用程序(不是MVC),它使用我的Global.asax文件中定义的路由设置,如此;

routes.Add("Login", New Route("login", New CustomRouteHandler("~/authenticate.aspx")))
routes.Add("AdditionalInfo", New Route("additional-information", New CustomRouteHandler("~/secure/additionalInfo.aspx")))

在整个应用程序中,要求用户进行身份验证,只需将用户重定向到登录屏幕。

我遇到的问题是如何将它们重定向回需要身份验证的位置?使用沼泽标准网址,我会做类似的事情;

http://www.site.com/login.aspx?returnURL=someReturnURL

甚至可以使用网络表单中的路线吗?

2 个答案:

答案 0 :(得分:2)

在Page_Load事件&上检索QueryString参数。将其保存在

ViewState["returnURL"] = Request.QueryString["returnURL"];

然后,在按钮单击事件中执行成功身份验证的重定向:

Response.Redirect(ViewState["returnURL"].ToString());

答案 1 :(得分:0)

通常,当用户点击登录按钮时,网址不会发生变化。所以你仍然可以使用' Request.QueryString [" returnURL"];'

来阅读数据