У меня есть шаблон редактора для моего представления модели ViewSetup. На мой взгляд, чтобы использовать шаблон упрощаетсяПредставление формы для модели mvc, перечислимой с использованием шаблона редактора
@model IEnumerable<ViewSetup>
@Html.EditorFor(s => s)
Мой шаблон редактора ViewSetup имеет форму представления, как показано ниже:
using (Ajax.BeginForm("Edit", new AjaxOptions() { HttpMethod = "Post" }))
{
@Html.HiddenFor(p => p.TradingPartner.ID)
<input type="submit" value="Save" />
}
Поэтому в основном я нужна форма, который будет представлен для каждого элемента Enumerable. Но я столкнулся с проблемой при подаче формы. Мой контроллер процесса пост является:
public ActionResult Edit(ViewSetup formDataSent)
{
formDataSent.Save();
}
В соответствии с моделью по умолчанию привязки Я получаю нулевой для TradingPartner собственности, так как имя в HTML является:
<input name="[0].TradingPartner.ID" type="hidden" value="1"/>
Что мне нужно представить только Объект ViewSetup для каждого элемента вместо массива. Если я могу получить индексную часть имени удаленной, которая может работать для меня. Но я не уверен, как получить только объект ViewSetup при отправке формы.
Нет, но у меня есть много свойств для модели ViewSetup. его сложнее, чем это, но я просто упростил это с помощью одного свойства выше. – kjj
Возможно, посмотрите на частичные. Каждая часть может иметь модель и призывать другие частичные элементы с дочерней моделью. Однако это добавит больше подробностей. –
Мне нужно использовать шаблоны, так как я должен повторно использовать это во многих местах моего приложения. Есть ли способ, которым я могу представить каждый элемент в цикле формы (только так я вижу, без добавления индекса в html-имя) .. спасибо. – kjj