从ActionResult中的URL访问参数

时间:2014-03-10 22:01:32

标签: asp.net-mvc

我收到以下网址,并显示ProcessToken控制器的回拨视图:

http://localhost:4151/ProcessToken/CallBack#token_type=Bearer&access_token=54EXXXXXXXXX3GE4

Callback ActionResult代码中,我想访问token_typeaccess_token

我该怎么做?

4 个答案:

答案 0 :(得分:1)

请提供更多信息以及您认为ActionResult方法应该是什么的示例。但根据我的想法,你会问:

public ActionResult CallBack(string token_type, string access_token){ //Do Something }

答案 1 :(得分:1)

做ken4z建议的内容,如果没有,你总是可以从Request对象中读取查询字符串。

Request.QueryString["token_type"]
Request.QueryString["access_token"]

答案 2 :(得分:0)

就像ken4z所说,你应该使用参数来模拟绑定。否则,您可以使用Request.QueryString来访问它们。

答案 3 :(得分:0)

它是片段的一部分,因此您无法在服务器端访问它。

阅读本文:http://tools.ietf.org/html/rfc2396#section-4

When a URI reference is used to perform a retrieval action on the
identified resource, the optional fragment identifier, separated from
the URI by a crosshatch ("#") character, consists of additional
reference information to be interpreted by the user agent after the
retrieval action has been successfully completed.  As such, it is not
part of a URI, but is often used in conjunction with a URI.

你可以使用ken4z指出的模型绑定来访问查询字符串参数。

您可以使用jquery读取哈希部分:

var data = window.location.hash.substring(1);
$.post('[YOUR_URL]', data, function () {
    // SUCCEEDED, redirect or so
});