我在嘗試瞭解knockout.js。目前,我正在嘗試對我的JSON對象獲取到控制器的MVC控制器執行POST。有人知道在線下載代碼示例嗎?我似乎無法找到證明這一點的任何代碼。我在這裏看到的視頻中看到它:http://channel9.msdn.com/Events/MIX/MIX11/FRM08。但是,我現在的方法是給我一個404。我懷疑這跟我如何序列化一些東西有關。因此,我正在尋找一個例子。從Knockout發佈到ASP.NET MVC控制器
謝謝!
我在嘗試瞭解knockout.js。目前,我正在嘗試對我的JSON對象獲取到控制器的MVC控制器執行POST。有人知道在線下載代碼示例嗎?我似乎無法找到證明這一點的任何代碼。我在這裏看到的視頻中看到它:http://channel9.msdn.com/Events/MIX/MIX11/FRM08。但是,我現在的方法是給我一個404。我懷疑這跟我如何序列化一些東西有關。因此,我正在尋找一個例子。從Knockout發佈到ASP.NET MVC控制器
謝謝!
除了使用ko.mapping插件首先打開模型外,對於完成此任務的knockout沒有什麼特別之處。
在這段代碼中,我將對象searchParams發佈到Search/ExecuteSearch。這使用jQuery的,
var jsonString = ko.mapping.toJSON(this.searchParams);
$.ajax({
url: "/Search/ExecuteSearch",
data: jsonString,
type: 'POST',
contentType: 'application/json',
dataType: 'json',
success: this.setSearchResults.bind(this)
});
這是控制器的動作:
/// <summary>
/// Execute a search
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost]
public JsonResult ExecuteSearch(AdvertisementSearch search)
{
var searchExecutor = new SearchExecutor();
return Json(searchExecutor.ExecuteSearch(search, CustomerData));
}
這裏最重要的是,你的JS模型必須具有相同的屬性名稱作爲.NET對象你的MVC控制器動作需要,否則MVC模型綁定將不起作用。我喜歡的設計模式是將我的JS模型管理爲.NET POCO對象,然後將它們的空默認版本序列化到客戶端。這意味着我不必擔心將JS文件和.NET CLR對象保持同步。
我還要提到的是,我使用MVC 3
分享一些你的代碼 – rene
我想通了。我沒有正確映射我的路線:( –