Facebook是否打开带有Post请求的画布应用程序?它对我的MVC行为造成了严重破坏

时间:2011-03-18 14:17:20

标签: asp.net-mvc facebook facebook-c#-sdk

我创建了一个MVC应用程序,其中有一个朋友视图,其中有一个帖子操作,请参阅下面的代码。当我第一次加载页面时,我的POST方法被调用。我找到了这个http://developers.facebook.com/docs/canvas/post/,只是想知道是否有人可以澄清Facebook正在调用post方法来传递数据。在这种情况下,解决我的问题的最佳方法是重命名我的POST操作?

这是我的代码,其中删除了不必要的位:

public ActionResult Friend()
    {
        ViewData["Success"] = false;
        return View("Friend");
    }
    [HttpPost]
    public ActionResult Friend(FacebookViewModel model)
    {
        ViewData["Success"] = true;
        return View("Friend", model);
    }

当调用正在打印到屏幕上的应用ViewData时,打印'true'。 :(

1 个答案:

答案 0 :(得分:2)

我相信Facebook出于安全原因这样做,我记得有一段时间看到有关切换到Photoshop for canvas应用程序的事情。

看起来他们也在这个blog post中宣布了它。

最佳选择可能是按照您的建议更改您的操作:

[HttpPost]
public ActionResult CanvasLoad(FacebookPostLoadViewModel model)
{
    // Do your load logic and show your view or RedirectToAction("Otherview");
    return View("Friend", model);
}