C# mvc中动态表与模型的绑定
我使用以下两个类作为视图模型:C# mvc中动态表与模型的绑定,c#,asp.net-mvc-4,model-binding,C#,Asp.net Mvc 4,Model Binding,我使用以下两个类作为视图模型: public class CreateVm { public int Id {get; set;} public string Name {get; set;} public ICollection<ItemVm> Items {get; set;} } public class ItemVm { public int Id {get; set;} public string Name {get; set;}
public class CreateVm
{
public int Id {get; set;}
public string Name {get; set;}
public ICollection<ItemVm> Items {get; set;}
}
public class ItemVm
{
public int Id {get; set;}
public string Name {get; set;}
public int Quantity {get; set;}
}
我的控制器基本上只是返回一个包含表行的局部视图:
public ItemController : Controller
{
public ActionResult AddItem()
{
var tableRow = new ItemVm();
return PartialView("_AddItem", tableRow);
}
}
局部视图:
@model ItemVm
@EditorFor(m => m, null, "Items")
编辑器模板:
@model ItemVm
<tr>
<td>@Html.EditorFor(m => m.Name)</td>
<td>@Html.EditorFor(m => m.Quantity)</td>
</tr>
@model ItemVm
@EditorFor(m=>m.Name)
@EditorFor(m=>m.Quantity)
现在的问题是,这没有生成mvc绑定工作所需的输入,即,
,如何让编辑器模板(或其他元素)生成这些类型的输入,以便在发布表单时自动绑定到CreateVm
?每天都有很多人遇到同样的问题。这里是另一种情况,因为答案是使用类似或的东西,并在Controller
或Api
中绑定孔对象。这里有一个例子,它包含了从用户那里获取一些对象列表的knockout any,这意味着一个页面中的复杂UI和javascript库解决了这个问题。您可以使用BeginCollectionItem
html帮助器,或者在客户机中构建html。举一些例子,每天都有很多人有同样的问题。这里是另一种情况,因为答案是使用类似或的东西,并在Controller
或Api
中绑定孔对象。这里有一个例子,它包含了从用户那里获取一些对象列表的knockout any,这意味着一个页面中的复杂UI和javascript库解决了这个问题。您可以使用BeginCollectionItem
html帮助器,或者在客户机中构建html。一些例子和例子
@model ItemVm
@EditorFor(m => m, null, "Items")
@model ItemVm
<tr>
<td>@Html.EditorFor(m => m.Name)</td>
<td>@Html.EditorFor(m => m.Quantity)</td>
</tr>