Facebook открывает приложение холста с запросом на публикацию? Это вызывает хаос с моими действиями MVC - PullRequest
0 голосов
/ 18 марта 2011

Я создал приложение MVC с представлением «Друзья», в котором есть действие после публикации, см. Код ниже. Когда я загружаю страницу в первый раз, вызывается мой метод POST. Я нашел это http://developers.facebook.com/docs/canvas/post/ и просто подумал, может ли кто-нибудь уточнить, что Facebook вызывает метод записи для передачи данных. В каком случае лучший способ обойти мою проблему - переименовать мое действие 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 Ответ

2 голосов
/ 18 марта 2011

Я полагаю, что Facebook делает это из соображений безопасности, я помню, что видел что-то о переходе на POST для приложений холста некоторое время назад

Похоже, они также объявили об этом в этом сообщении в блоге .

Наилучшим вариантом, вероятно, является изменение вашего Действия, как вы предложили:

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