ASP.NET MVC UI 템플릿 : ILIST 모델 속성을 EditorFor (M => M.Submodel)와 혼합하는 방법?
-
20-09-2019 - |
문제
당신이 이것을 가지고 있다고 말하십시오 :
public class ShoppingCart {
public IList<CartItem> cartItems {get; set; }
}
그리고 당신은 수업을 렌더링하기 위해 이것을합니다.
<%= EditorFor( m => m.ShoppingCart, "ShoppingCart") %>
ShoppingCart.ASCX에서 편집자 (??, "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") %>
<% } %>
제휴하지 않습니다 StackOverflow