내가 모델 클래스라는 이벤트 및 EventRange라는 모델 클래스가 작동하지 : 많은 EventRanges에 대한 목록은 이벤트 클래스를 볼 수 있듯이MVC editorfor 수집
public class Event
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<EventRange> RangesCollection { get; set; }
}
public class EventRange
{
public int Id { get; set; }
public string RangeName { get; set; }
public string RangeDescription { get; set; }
public int Capacitiy { get; set; }
}
를 포함하면 사용자가 할 수 있어야로 많은 EventRanges를 추가합니다.
이벤트라고 불리는 뷰를 만들었습니다.이 뷰는 짝수 범위의 부분 뷰를 동적으로 추가합니다. 예를 들어 5 개의 EventRanges를 저장하려면 Add Event Range 버튼을 5 번 누릅니다.
이벤트보기 :
eventrange에 대한 부분보기가 "~/조회/이벤트/EditorTemplates/EventRange.cshtml"EventRange.cshtml으로 저장됩니다
@using (Ajax.BeginForm("CreateEvent", "Events", new AjaxOptions { HttpMethod = "POST" }, new { @class = "mainForm" }))
{
@*Event data:*@
@Html.LabelFor(m => m.Name)@Html.TextBoxFor(m => m.Name)
@Html.LabelFor(m => m.Description)@Html.TextBoxFor(m => m.Description)
@*EventRange data:*@
<div id="EventRangediv">
@Html.EditorFor(m => m.RangesCollection)
</div>
}
:
@model fanaticksMain.Models.EventRange
@Html.HiddenFor(m => m.Id)
@Html.DisplayFor(m => m.RangeName)
@Html.LabelFor(m => m.RangeName)@Html.TextBoxFor(m => m.RangeName)
@Html.LabelFor(m => m.RangeDescription)@Html.TextBoxFor(m => m.RangeDescription)
그러나 이벤트 뷰를로드해도 partialview의 요소는로드되지 않으며 이벤트 작업의 이름과 설명에 대한 레이블과 텍스트 상자가로드됩니다. 그러나 eventrange 부분보기에는 아무 것도 표시되지 않습니다.
누구나 내가 뭘 잘못하고 있는지 알 수 있습니까? 또한 양식을 게시하기 위해 컬렉션을 바인딩하는 것이 올바른 방법이라면 누구나 제안 사항이 있습니까?
컬렉션에 항목이 포함되어 있지 않습니다.보기는 항목을 rangecollection에 추가하기위한 것입니다. – user1830148
[가변 길이 품목 목록 편집] (http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet)을 참고하십시오. -mvc-2-style /) –
훌륭한 기사, 감사합니다! 나중에 후속 조치를 취할 것입니다. – user1830148