我是 MVC 的新手,想在这里获得一些关于如何将变量值从一个控制器传递到另一个控制器的建议。基本上,我想要实现的是执行 Facebook 身份验证,并且在成功身份验证后,我应该获取AccessToken值和我想将其传递给另一个控制器的完整路径变量值,以便使用新视图进行进一步处理。我不确定到目前为止我所做的是否有意义:
我有一个 ActionResult 方法(简化以使其更清晰),如下所示:
[HttpPost]
public ActionResult Index(string facebookUID, string facebookAccessTok)
{
string fbUID = facebookUID;
string fbAcess = facebookAccessTok;
var fullpath = "";
string uploadPath = Server.MapPath("~/upload");
fullpath = uploadPath + "\\ProfilePic.png";
return null;
}
在我的索引视图中:
<script type="text/javascript">
var uid = 0;
var accesstoken = '';
function grantPermission() {
window.FB.login(function (response) {
if (response.authResponse) {
uid = response.authResponse.userID;
accesstoken = response.authResponse.accessToken;
var postData = { facebookUID: uid, facebookAccessTok: accesstoken };
$.ajax({
type: 'POST',
data: postData,
success: function () {
// process the results from the controller action
window.location.href = "Publish";
}
});
} else {
alert('User cancelled login');
}
}, { scope: 'publish_stream' });
};
在上面的视图中,我重定向到另一个页面调用“发布”,它的控制器索引 ActionResult 需要fbAcess和完整路径变量值以进行进一步处理。请建议我如何传递这些值。