0
我有一堆主要用於保存數據到後端存儲的控制器操作。現在大多數人使用這樣的簽名:ASP.NET MVC,JSON發佈到控制器操作FormCollection參數
//
// POST: /WidgetZone/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
正如你所看到的,它接受FormCollection。這適用於經典用戶視圖。現在我想讓JSON啓用這些操作。而我呢使用JsonPox行爲過濾器這個樣子:
//
// POST: /WidgetZone/Create
[JsonPox]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
將這項工作時的動作需要的FormCollection?
例如沒有問題(當然我構建JSON對象在我的JavaScript客戶端將其傳遞到這個行動)這項工作:
//
// POST: /WidgetZone/Create
[JsonPox]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(string id, string description)
這是所有關於回傳UI轉換成異步的任務一個,所以保存和更新將被完成異步。我在正確的軌道上嗎?我認爲開發獨立的Json,XML或經典的ViewResult操作並不是最好的方法。
幫助理解
怎麼回傳反饋?例如,如果沒有異常,我想返回「創建成功」,如果出現錯誤,我想返回「創建失敗」。 在控制器內部,我使用ViewData [「Message」] =「Success」執行操作,然後在視圖本身中訪問ViewData。 如何使用Json返回此文本?我應該添加額外的屬性到我的模型類嗎?例如,屬性LastActionResult WidgetZone類?然後返回創建的對象Json序列化,這個屬性也將被包含。 ?? – mare 2009-11-13 15:41:14
是的,你需要添加一個屬性到你的模型,因爲過濾器只會序列化模型的內容,而不是你在ViewData中的內容。 – 2009-11-13 16:29:52