Request.QueryString("returnURL") 中缺少一些参数

Some parameters missed in Request.QueryString("returnURL")

在我的项目 (ASP.NET Webform) 中,我有一个 hyperlink 视图。当我单击此 link 时,它会将我引导至我网站上的另一个视图。这是我认为的link。

<a href="https://mytest.com/mysite/mypage.aspx?returnURL=https://mytest.com/mysite/DynamicView.aspx?view_code=_SAA1DKIVJ&amp;module_code=R&amp;selected_row=0258B963A2">View My Ticket</a>

现在,我单击上面的 link,我在 Global.asax 页面的 Application_BeginRequest 事件中捕获了请求。请注意 Request.QueryString 和 Request.QueryString("returnURL") 之间的不同值。

Request.QueryString returnURL=https%3a%2f%2fmytest.com%2fmysite%2fDynamicView.aspx%3fview_code%3d_SAA1DKIVJ&module_code=R&selected_row=0258B963A2

Request.QueryString("returnURL")

https://mytest.com/mysite/DynamicView.aspx?view_code=_SAA1DKIVJ

如您所见,Request.QueryString("returnURL") 缺少两个参数 module_codeselected_row

我不知道为什么会发生这种奇怪的事情。我期望 Request.QueryString("returnURL") 应该与 Request.QueryString.

具有相同的值

非常感谢你在这件事上的帮助!

您需要正确编码参数。 url里面有两个?,那是不允许的。

<a href="https://mytest.com/mysite/mypage.aspx?returnURL=<%= 
    HttpUtility.UrlEncode("https://mytest.com/mysite/DynamicView.aspx?view_code=_SAA1DKIVJ&module_code=R&selected_row=0258B963A2") 
 %>">View My Ticket</a>