新しい Facebook アプリを作成しましたが、[FacebookAuthorize] フィルターをアクションに使用して、アプリからの「投稿」を処理するコントローラー アクションを除いて、すべて正常に動作します。リダイレクトが作成され、フォーム データがすべて失われるためです。このチュートリアルで提示されている唯一のフォームを変更すると、私が話していることがわかります。
http://www.asp.net/mvc/tutorials/mvc-4/aspnet-mvc-facebook-birthday-app
<form class="navbar-form pull-right" action="@Url.Action("Search", "Home")"
method="get">
<input class="span2" type="text" name="friendName" placeholder="Friend's name" />
<button type="submit" class="btn">Search</button>
</form>
フォームのメソッドを「post」に変更すると、コントローラーの Search メソッドのパラメーターが入力されなくなります。これについて調査したところ、FacebookAuthorize フィルターがリダイレクトを作成し、すべての投稿データを失うようです。回避策を作成する方法、または何か間違ったことをしていますか?
アクションは次のとおりです。
[FacebookAuthorize]
[HttpPost]
public async Task<ActionResult> Search(string friendName, FacebookContext context)
{
return null;
}
内部にブレークポイントを配置すると、パラメーターの friendName が空であることがわかります。