【问题标题】:Some parameters missed in Request.QueryString("returnURL")Request.QueryString("returnURL") 中遗漏了一些参数
【发布时间】:2021-02-27 10:23:29
【问题描述】:

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

<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>

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

Request.QueryString returnURL=https%3a%2f%2fmytest.com%2fmysite%2fDynamicView.aspx%3fview_code%3d_SAA1DKIVJ&amp;module_code=R&amp;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 具有相同的值。

感谢您在这件事上的帮助!

【问题讨论】:

    标签: asp.net .net web webforms query-string


    【解决方案1】:

    您需要正确编码参数。 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>
    

    【讨论】:

    • 很好,@VDWWD。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2013-07-12
    • 2015-07-11
    • 2016-07-27
    相关资源
    最近更新 更多