2012-08-23 32 views
2

民间, 任何人都可以帮助我或指导我一个基因敲除viewmodel的例子,其中包含传递给asp.net mvc行动的对象数组?我见过的唯一例子只是传递了简单的字符串数组。 谢谢传递淘汰赛阵列的对象到mvc控制器行动

+0

您到目前为止尝试过了什么?你的数据是怎样的,控制器动作,视图模型?请张贴一些代码。 – nemesv

+0

你有什么尝试。也许你可以给我们一些你的代码来处理,所以我们不必去尝试和阅读你的想法 – Gabe

+0

你知道[Knockout MVC?](http://knockoutmvc.com/) –

回答

4

Here's an example from the official Knockout site。这是一个带有嵌套数组的联系人编辑器。 [jsFiddle]

一个配件ASP.NET MVC的行动可能看起来像

public ActionResult SaveContacts(IEnumerable<Contact> contacts) 

如果联系被定义为类:

public class Contact 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public IEnumerable<Number> phones { get; set; } 
} 

其中数字是定义为类:

public class Number 
{ 
    public string type { get; set; } 
    public string number { get; set; } 
} 

鉴于example的JavaScript Knockout View Model。您的save方法可能看起来像这样

self.save = function() { 
    var jsonString = ko.mapping.toJSON(this.searchParams); 
    $.ajax({ 
     url: "/MyController/SaveContacts", 
     data: jsonString, 
     type: 'POST', 
     contentType: 'application/json', 
     dataType: 'json' 
    }); 
}; 
+0

谢谢Martin。你能告诉我在挖空视图模型中的SaveContacts发布方法是什么样子吗? – mikelus

+0

当然。我已经为我的答案添加了一个保存方法,以替代示例中的保存方法。确保你看看这个例子 - > http://knockoutjs.com/examples/contactsEditor.html –