如果URL包含"#",如何在C#中获取页面的完整URL?

时间:2018-04-20 11:52:52

标签: c# asp.net

我需要能够获得页面的完整URL 页面网址就像这样

http://localhost:12365/Dashboard.aspx#access_token=adfgafdg73e9c4ggg186fbfcf05e775a6f2gggd8&expires_in=3600&token_type=Bearer&state=zxv

在此网址中,之后如何获取access_token值?

1 个答案:

答案 0 :(得分:8)

你做不到。片段中的任何内容(#以后的部分)都不会发送到服务器。只有客户才能查看,您可以通过window.location.hash在javascript中进行操作。

某些网站使用的一个有用技巧是使用该片段来防止用户数据出现在http请求日志中;页面可能是/foo/bar#something,加载/foo/bar,然后客户端javascript查看片段并执行ajax POST以获取数据以加载内容。这是有效的,因为大多数http日志记录了GET uri但不记录POST表单主体,因此#something不会记录在日志中。