ASP.NET MVC UI 模板:如何将 IList 模型属性与 EditorFor( m => m.subModel) 混合?

发布于 2024-08-17 18:34:57 字数 497 浏览 9 评论 0原文

假设您有这个:

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 模板,而不仅仅是一个属性。

Say you have this:

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

And you do this to render the class:

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

How would you do the EditorFor( ??, "CartItem") in the ShoppingCart.ascx? I would think it would look something like this:

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

The idea here of course is to use a UI template for an entire class, not just a property.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

再见回来 2024-08-24 18:34:57
<% 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"

绑定回原始列表视图模型

<% for (int count = 0; count < Model.cartItems.Count; count++ )
   {                                              %><%= 
      Html.EditorFor(m => m.cartItems[count])      %><%
   } 
%>

Creates form names like:

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

Which bind back to the original List view model

水溶 2024-08-24 18:34:57

如果您的 ShoppingCart.ascx 的模型是 ShoppingCart 类,那么您应该能够执行以下操作

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

If the model of your ShoppingCart.ascx is the ShoppingCart class, then you should be able to do

<% foreach (CartItem myCartItem in m.cartItems) { %>
    <%= EditorFor(m => myCartItem, "CartItem") %>
<% } %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文