0

我从使用 facebook api 得到一个返回的 url:

http://www.example.com/#access_token=BAAGgUj7asdasdasdasda4z3cBAFD5ZAyTOMIxtBpjIHsNwLfZC6L9gZAIdSIt3bKP96rg7yAlplMBDA9ZCndAKS9a7m4oRmRmJAxSdCueefweWJrlq3vQv3XaGqTOLofEMjJIVNCYZD=

但我不确定如何获得令牌值?因为它不在查询字符串或 Request.url 中

有什么帮助吗?

4

4 回答 4

1

您不能,假设这是在当前请求中传递的,因为之后的任何内容#都不会发送到服务器。

您可以在 JavaScript 中捕获它并使用 AJAX 将其发送到服务器,但这将是一个不同的请求。


如果您的意思是此 URL 不是来自当前请求,则可以使用Uri该类解析完整的 URL 并获取片段:

var fragment = new Uri(theUri).Fragment;
var token = fragment.Split(new [] {'&','='}, StringSplitOptions.None)[1];
于 2013-04-26T11:35:06.327 回答
0

您可以使用HttpUtility.ParseQueryString解析 URL,然后您可以按名称获取值,例如

NameValueCollection query = HttpUtility.ParseQueryString(querystring);
string token = query["token"];
于 2013-04-26T11:35:44.453 回答
0

检查这个在 ASP.Net 的 URL 中检索锚链接

您无法从服务器端获取它,您需要先从客户端获取它,然后在隐藏字段或类似的地方将其传递给服务器

于 2013-04-26T11:37:24.547 回答
0

您必须查找“%23”,因为“#”被 url 编码为“%23”

参考: http ://www.w3schools.com/tags/ref_urlencode.asp

但你也必须知道,锚点在服务器端不可用!

于 2013-04-26T11:43:46.597 回答