c# 获取当前URL #号后的内容

介绍了#号作为页面定位符的作用,浏览器读取含#号的URL会将对应位置滚动至可视区域,服务器接收不到#后面内容。还讲述在项目sso回调时,因token放在#后,服务器需获取token,用JS重新请求地址,将#替换为?来获取token信息,并给出了相关代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  #号是页面定位符,比如:http://XXX/index.html#anchor ,此URL表示在页面中anchor的位置。浏览器读取这个URL后,会自动将anchor位置滚动至可视区域。不管#号后面跟的是什么参数,一律看成是位置标识符。服务器接收不到#后面的内容。只可以通过javascript使用window.location.hash来改变#号后面的值

我的项目中sso回调时,token放在了#后面,服务器需要获取token的内容,就用JS的方式重新请求了一遍地址,将#替换为?即可获取token信息。代码如下:

if    (string.IsNullOrWhiteSpace(Request.QueryString["token"]))

{

                HttpContext.Response.Clear();

                HttpContext.Response.Write("<script>location.href='/ssocallback'+window.location.hash.replace('#','?');</script>");

                HttpContext.Response.End();

}

然后就可以获取token信息:

 string token = Request.QueryString["token"].ToString();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值