我有一个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
甚至可以使用网络表单中的路线吗?
答案 0 :(得分:2)
在Page_Load事件&上检索QueryString参数。将其保存在
中ViewState["returnURL"] = Request.QueryString["returnURL"];
然后,在按钮单击事件中执行成功身份验证的重定向:
Response.Redirect(ViewState["returnURL"].ToString());
答案 1 :(得分:0)
通常,当用户点击登录按钮时,网址不会发生变化。所以你仍然可以使用' Request.QueryString [" returnURL"];'
来阅读数据