我有一個模型類稱爲事件,並呼籲EventRange模型類工作: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列表的用戶應該能夠添加大量的EventRanges。
我創建了一個名爲events的視圖,它動態地爲偶數區域添加了一個局部視圖。用戶可以在例子中按下Add Event Range按鈕5次,如果他想保存5個EventRanges。
事件視圖:
@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>
}
用於eventrange的局部視圖 「〜/視圖/活動/ EditorTemplates/EventRange.cshtml」
EventRange.cshtml下保存:
@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中的任何元素,標籤和文本框用於事件工作的名稱和描述。但事件範圍局部視圖沒有顯示任何內容。
任何人有任何想法我做錯了什麼?此外,有沒有人有任何建議,如果這是綁定發佈表單的集合的正確方法?
該集合不包含任何項目,該視圖用於將項目添加到範圍集合。 – user1830148
您可能想看看這篇文章:[編輯一個可變長度的項目列表](http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet -mvc-2-style /) –
偉大的文章,謝謝!稍後會跟進。 – user1830148