2

在我的网站中,有一个table, 在 everytd中,有一个divwith<input>里面。我在表格上运行并序列化每个 div 并将其发布到服务器。

        for (var r = 0; r < tbodyRow.length; r++) {
            var tbodyCols = tbodyRow[r].cells;
            for (var c = 0; c < tbodyCols.length; c++) {
                row = r + 1;
                cell = c + 1;
                div = $("#tbody tr:nth-child(" + row + ") td:nth-child(" + cell + ") :input").serialize();
                if (div != "") {
                    $.post("../Contoller/Action?Mode=" + Mode, div, function () { });
                }
                tbodyCounter++;
            };
        };

并且在服务器中 - 操作有一个对象作为获取它的参数。

我想只发布一次对象的所有列表(我在 div 中)并像List<T>在服务器端一样获取它。可能吗 ?

4

2 回答 2

2

是的,模型绑定允许这样做。参考下面的文章

http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

也可以参考下面的介绍

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

于 2012-12-15T17:28:18.780 回答
1

在表单标签内输入输入并序列化表单并发送它。

$.post("@Url.Action("YourAction","YourController")",
                            $("#yourFormID").serailize(),function(data){

});

在控制器中,您可以使用您的视图被强类型化到的模型 /viewmodel 作为参数,以便 MVC 模型绑定将发布的数据绑定到它。

[HttpPost]
public ActionResult YourAction(YourViewModel model)
{

 //do something
}
于 2012-12-15T17:29:09.413 回答