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

  #号是页面定位符,比如: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("");

                HttpContext.Response.End();

}

然后就可以获取token信息:

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

你可能感兴趣的:(c#)