ASP.NET MVC UIテンプレート:どのようにEditorFor(M => m.subModel)とのIListモデルプロパティをミックスするには?

StackOverflow https://stackoverflow.com/questions/2069658

質問

あなたはこれを持って言います

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テンプレートだけでなく、プロパティを使用することです。

役に立ちましたか?

解決

<% 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"

オリジナルのリストビューモデルに戻って結合します。

他のヒント

あなたのShoppingCart.ascxのモデルがShoppingCartのクラスがある場合は、あなたが行うことができるはずです。

<% foreach (CartItem myCartItem in m.cartItems) { %>
    <%= EditorFor(m => myCartItem, "CartItem") %>
<% } %>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top