قالب ASP.NET MVC UI: كيفية مزج خاصية نموذج ILIST مع محرر (M => M.SubModel)؟

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

سؤال

قل لديك هذا:

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

وأنت تفعل هذا لجعل الفصل:

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

كيف يمكنك أن تفعل المحرر (؟؟ ، "Cartitem") في التسوق. أعتقد أنه سيبدو مثل هذا:

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

الفكرة هنا بالطبع هي استخدام قالب واجهة المستخدم لفئة كاملة ، وليس مجرد خاصية.

هل كانت مفيدة؟

المحلول

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

الذي يربط مرة أخرى إلى نموذج عرض القائمة الأصلي

نصائح أخرى

إذا كان نموذج التسوق الخاص بك هو فئة التسوق ، فيجب أن تكون قادرًا على القيام به

<% foreach (CartItem myCartItem in m.cartItems) { %>
    <%= EditorFor(m => myCartItem, "CartItem") %>
<% } %>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top