首页 > 解决方案 > __doPostback 如何在 asp.net 网站上创建 url?

问题描述

请查看以下 URL - https://www.event-reg.biz/oem-Koelnmesse/OnlineExhListing

在排序方式下拉列表中,您可以选择“参展商 A 到 Z”,然后按搜索。数据出现后,它们为每个链接(javascript:__doPostBack('ctl00$MainContent$grdExhList$ctl00$ctl04$lnkExhLink',''))在浏览器中执行以创建唯一 URL 的 javascript 函数。

例如 https://www.event-reg.biz/oem-Koelnmesse/OnlineExh?e=/v5urzZW/hm8SuWqRTOYlg==&p=https%3a%2f%2fwww.event-reg.biz%2foem-Koelnmesse%2fOnlineExhListing ,此 URL 是为上述 Javascript 函数调用创建的。

我已经对 __doPostBack 函数进行了研究,但这似乎没有帮助。任何形式的帮助或建议表示赞赏。

先感谢您。

标签: javascriptasp.netdopostback

解决方案


事件顺序:

  1. 在客户端单击链接。它将调用 __doPostBack将调用 POST 到 URL 的方法:“ https://www.event-reg.biz/oem-Koelnmesse/OnlineExhListing ”并传递带有值的 __EVENTTARGET:“ctl00$MainContent$grdExhList$ctl00$ctl04 $lnkExhLink",发布的众多键/值之一。
    在服务器端收到请求后,服务器向客户端提供以下响应:“1|#||4|157|pageRedirect||%2foem-Koelnmesse%2fOnlineExh.aspx%3fe%3d%2fv5urzZW%2fhm8SuWqRTOYlg%3d %3d%26p%3dhttps%253a%252f%252fwww.event-reg.biz%252foem-Koelnmesse%252fOnlineExhListing|"
  2. 客户端现在调用在先前 POST 响应中收到的 URL 的 GET 请求,即:“%2foem-Koelnmesse%2fOnlineExh.aspx%3fe%3d%2fv5urzZW%2fhm8SuWqRTOYlg%3d%3d%26p%3dhttps%253a%252f%252fwww。 event-reg.biz%252foem-Koelnmesse%252fOnlineExhListing",可以将 URL 解码为:" /oem-Koelnmesse/OnlineExh.aspx?e=/v5urzZW/hm8SuWqRTOYlg==&p=https%3a%2f%2fwww.event-reg .biz%2foem-Koelnmesse%2fOnlineExhListing "
  3. URL "/oem-Koelnmesse/OnlineExh.aspx?e=/v5urzZW/hm8SuWqRTOYlg==&p=https%3a%2f%2fwww.event-reg.biz%2foem-Koelnmesse%2fOnlineExhListing" 在服务器上重定向到:" /oem-Koelnmesse/OnlineExh?e=/v5urzZW/hm8SuWqRTOYlg==&p=https%3a%2f%2fwww.event-reg.biz%2foem-Koelnmesse%2fOnlineExhListing",这是您在浏览器中看到的最终 URL .


您可以通过使用 fiddler 拦截流量来轻松查看流量并亲自查看:
提琴手截图


推荐阅读