Asp.net 如何从来自API的URL而不是当前请求中获取查询字符串中的#值
我使用facebook api获得返回的url: 但我不知道如何获得令牌值?因为它不在查询字符串或Request.url中Asp.net 如何从来自API的URL而不是当前请求中获取查询字符串中的#值,asp.net,Asp.net,我使用facebook api获得返回的url: 但我不知道如何获得令牌值?因为它不在查询字符串或Request.url中 有任何帮助吗?如果在当前请求中传递了此信息,则无法提供帮助,因为#之后的任何内容都不会发送到服务器 您可以在JavaScript中捕获它并使用AJAX将其发送到服务器,但这将根据不同的请求进行 如果您的意思是此URL不是来自当前请求,则可以使用Uri类解析完整URL并获取片段: var fragment = new Uri(theUri).Fragment; var t
有任何帮助吗?如果在当前请求中传递了此信息,则无法提供帮助,因为
#
之后的任何内容都不会发送到服务器
您可以在JavaScript中捕获它并使用AJAX将其发送到服务器,但这将根据不同的请求进行
如果您的意思是此URL不是来自当前请求,则可以使用
Uri
类解析完整URL并获取片段:
var fragment = new Uri(theUri).Fragment;
var token = fragment.Split(new [] {'&','='}, StringSplitOptions.None)[1];
您可以使用解析URL,然后通过名称获取值,例如
NameValueCollection query = HttpUtility.ParseQueryString(querystring);
string token = query["token"];
检查这个
您无法从服务器端获取它,您需要先从客户端获取if,然后在隐藏字段或类似内容中将其传递给服务器,您必须查找“%23”,因为“#”是url编码为“%23”的
参考:
但您还必须知道,服务器端不提供锚定 这在服务器端是如何工作的?对于
#
之后的值,OP声明URL是从api服务器返回的,它没有提到该URL是当前请求的任何内容。这仍然需要进一步处理,片段
属性将返回#
之后的所有内容,因此OP仍然需要解析字符串。我确实认为这种场景的首选方法是使用ParseQueryString
。是的,我认为javascript和ajax是最直接的方法@感谢您提出我使用javascript和ajax来完成它的想法!