我剛剛創建了一個新的Facebook應用程序,並且所有工作都很好,除了控制器動作從我的應用程序處理「發佈」,使用[FacebookAuthorize]過濾器進行操作;因爲它會創建一個重定向,並且我的所有表單數據都會丟失。你可以看到我所說的,如果你修改本教程中的唯一形式:ASPNET MVC4 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是空的。
爲什麼你需要d方式POST?雖然您可能必須編寫自己的模型聯編程序並訪問這些值,如果您有某些特定要求用POST替換GET –
@KD我需要POST,因爲我需要啓用圖像上載。這僅僅是一個不起作用的例子。 – icesar