Я пытаюсь связать модель подклассом в форме.
У меня есть класс Page со связанным классом PageContent.
В объекте Page есть много объектов PageContent.
т.е. Page.PageContents
Я возвращаю Page в качестве Модели и вижу все элементы PageContent.
Однако я немного размыт о том, как назначать элементы PageContent для формы, чтобы она сохраняла привязку модели.
Когда я отправляю модель страницы обратно в контроллер, список PageContent становится пустым.
Вот фрагмент кода:
<% using (Html.BeginForm("SavePage", "Admin")) {%>
<fieldset>
<legend>Fields</legend>
<%=Html.Hidden("PageId", Model.PageId) %>
<p>
<label for="Title">Title:</label>
<%= Html.TextBox("Title", Model.Title) %>
<%= Html.ValidationMessage("Title", "*") %>
</p>
<p>
<label for="SysName">SysName:</label>
<%= Html.TextBox("SysName", Model.SysName) %>
<%= Html.ValidationMessage("SysName", "*") %>
</p>
<%
int i = 0;
foreach (var pageContent in Model.PageContents)
{ %>
<div>
<%=Html.Hidden("PageContents[" + i + "].PageContentId", pageContent.PageContentId) %>
<%=Html.TextArea("PageContents[" + i + "].Content", pageContent.Content)%>
</div>
<%
i++;
} %>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Мне кажется, я неправильно указал аспект PageContents формы.
EDIT:
Вот основной метод контроллера, который я POST:
public ActionResult SavePage(Page page)
{
// do stuff with page.PageContents
return View("PageEdit", page);
}
Я не использую стиль Request.Form
Пожалуйста, помогите: D