Я только что создал новое приложение facebook, и все работает отлично, за исключением действий контроллера, которые обрабатывают «сообщение» из моего приложения, с фильтром [FacebookAuthorize] на действие; поскольку он создает перенаправление, и все мои данные формы теряются. Вы можете увидеть, что я имею в виду, если изменить только форму, представленную в данном руководстве:ASPNET MVC4 Facebook приложение - FacebookАвторизовать фильтр и опубликовать данные
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 пуст.
Почему вам нужно POST по д пути? Хотя вам, возможно, придется написать собственное связующее устройство и получить доступ к значениям, если у вас есть какое-то конкретное требование для замены GET с помощью POST –
@KD Мне нужен POST, потому что мне нужно включить загрузку изображения. Это был просто нерабочий пример для иллюстрации. – icesar