我创建了一个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'。 :(
答案 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);
}