Asp.net mvc 当用canvasAuthority修饰时,AJAX调用不会触发动作方法

Asp.net mvc 当用canvasAuthority修饰时,AJAX调用不会触发动作方法,asp.net-mvc,facebook,asp.net-mvc-3,asp.net-ajax,facebook-c#-sdk,Asp.net Mvc,Facebook,Asp.net Mvc 3,Asp.net Ajax,Facebook C# Sdk,我正试图通过我的FB应用程序将项目张贴在墙上,在Facebook上共享项目。我在客户端和服务器端(ASP.NET MVC3)设置了所有内容,但我注意到,当ActionMethod使用CanvasAuthorize属性修饰时,该方法根本不会被触发。我能做点什么吗 附言:我通过AJAX调用检查了发布的数据,结果一切都很好。此外,如果我对[CanvasAuthorization]行进行注释,则会触发该方法,并且所有参数都正常,除非当我进入fb.Post()调用时,它会抱怨没有有意义的访问令牌

我正试图通过我的FB应用程序将项目张贴在墙上,在Facebook上共享项目。我在客户端和服务器端(ASP.NET MVC3)设置了所有内容,但我注意到,当ActionMethod使用
CanvasAuthorize
属性修饰时,该方法根本不会被触发。我能做点什么吗

附言:我通过AJAX调用检查了发布的数据,结果一切都很好。此外,如果我对
[CanvasAuthorization]
行进行注释,则会触发该方法,并且所有参数都正常,除非当我进入
fb.Post()
调用时,它会抱怨没有有意义的访问令牌

    //[CanvasAuthorize(Permissions = "publish_stream")]
    public ActionResult PostItem(string message, string link, string picture, string name)
    {
        var fb = new FacebookWebClient();
        var postArgs = new Dictionary<string, string>();
        postArgs["message"] = message;
        postArgs["link"] = link;
        postArgs["picture"] = picture;
        postArgs["name"] = name;
        fb.Post("/me/feed", postArgs);
        return Json(new {result = "success"}, JsonRequestBehavior.AllowGet);
    }
/[canvasAuthorization(Permissions=“publish\u stream”)]
public ActionResult PostItem(字符串消息、字符串链接、字符串图片、字符串名称)
{
var fb=新的FacebookWebClient();
var postArgs=新字典();
postArgs[“message”]=消息;
postArgs[“link”]=链接;
postArgs[“图片”]=图片;
postArgs[“name”]=名称;
fb.Post(“/me/feed”,postArgs);
返回Json(新的{result=“success”},JsonRequestBehavior.AllowGet);
}
有什么想法吗

更新:


下面是一个后续步骤:

使用一个隐藏字段,通过ajax调用传递该字段

您可以自己实现,也可以使用:

<%: Html.FacebookSignedRequest() %>

我这样做了,然后当我用Firebug检查它时,我得到了(这是我所期望的):
有什么想法吗?