1

假设你有这个:

public class ShoppingCart {
    public IList<CartItem> cartItems {get; set; }
}

你这样做是为了渲染这个类:

<%= EditorFor( m => m.ShoppingCart, "ShoppingCart") %>

您将如何在 ShoppingCart.ascx 中执行 EditorFor(??, "CartItem")?我认为它看起来像这样:

<% foreach( CartItem myCartItem in m.cartItems) { 
     %><%= EditorFor( ??, "CartItem")
%><% } %>

这里的想法当然是为整个类使用 UI 模板,而不仅仅是一个属性。

4

2 回答 2

1

如果您的 ShoppingCart.ascx 的模型是 ShoppingCart 类,那么您应该可以做到

<% foreach (CartItem myCartItem in m.cartItems) { %>
    <%= EditorFor(m => myCartItem, "CartItem") %>
<% } %>
于 2010-01-15T08:19:53.053 回答
1
<% for (int count = 0; count < Model.cartItems.Count; count++ )
   {                                              %><%= 
      Html.EditorFor(m => m.cartItems[count])      %><%
   } 
%>

创建表单名称,如:

name="cartItems[0].Name"
name="cartItems[1].Name"
name="cartItems[2].Name"

绑定回原始列表视图模型

于 2010-02-23T16:19:29.963 回答