Форма и запрос. Форма в приложении asp.net MVC3 Facebook - PullRequest
0 голосов
/ 28 сентября 2011

Я работаю над приложением facebook и сталкиваюсь с проблемой с моими формами с MVC3 с Razor.

A. Рабочая форма:

index.cshtml

        @using (Html.BeginForm("Index", "Home", FormMethod.Post))
        {
            @Html.TextBox("tbTest", "Pouet pouet", new { Width = "500px" })
            <input type="submit" name="btnCalculate">calculer vos tarifs</input>
        } Result form : @Request.Form <br />

HomeController.cs:

public ActionResult Index()
{
    return View();
}

B. Форма ошибки:

About.cshtml:

        @using (Html.BeginForm("About", "Home", FormMethod.Post))
        {
            @Html.TextBox("tbTest", "Pouet pouet", new { Width = "500px" })
            <input type="submit" name="btnCalculate">calculer vos tarifs</input>
        } Result form : @Request.Form <br />

HomeController.cs:

    [CanvasAuthorize(Permissions = "user_about_me,manage_pages,offline_access")]
    public ActionResult About()
    {
        var fb = new FacebookWebClient();
        FacebookWebClient fbApi = new FacebookWebClient(FacebookWebContext.Current.AccessToken);

        dynamic result = fb.Get("me");
        return View();
    }

В apps.facebook.com/appname/home/index форма работает, Request.Form return tbTest = Pouet pouet. В apps.facebook.com/appname/home/about форма не возвращает ничего, кроме Signed_Request.

EDIT Если я отредактирую HomeController.cs вот так

    [CanvasAuthorize(Permissions = "user_about_me,manage_pages,offline_access")]
    public ActionResult Index()
    {

первая страница, index.cshtml, больше не работает ... Сообщение возвращает только Signed_Request.

Итак, я думаю, что у меня проблема с использованием Facebook SDK и подписанного запроса, нет? Не могли бы вы мне помочь, пожалуйста. Почему форма не отправляется и не теряется на странице «О нас»?

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

для почтовых отправлений необходимо поддерживать подписанный запрос вручную.

http://facebook.stackoverflow.com/a/5364815/157260

0 голосов
/ 28 сентября 2011

Потому что у вас есть

@using (Html.BeginForm("Index", "Home", FormMethod.Post)) 

в вашей форме About, что приводит к POST для индексации вместо About.Измените его на

@using (Html.BeginForm("About", "Home", FormMethod.Post)) 
...