我刚刚创建了一个新的 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>
如果我将表单的方法更改为“发布”,则控制器中的搜索方法中的参数将不再填充。我对此进行了一些研究,似乎 FacebookAuthorize 过滤器会创建重定向并丢失所有发布数据。如何解决问题,还是我做错了什么?
动作在这里:
[FacebookAuthorize]
[HttpPost]
public async Task<ActionResult> Search(string friendName, FacebookContext context)
{
return null;
}
当我在里面放置一个断点时,我可以看到参数friendName是空的。