У меня есть страница табличных данных - это список информации о гостиничном номере, который я хочу разрешить пользователю выбирать, какую комнату он хочет, и указывать людей в этой комнате - что в основном просто раскрывающийся список для взрослых/детей . однако я также хотел бы добавить несколько капельниц в зависимости от того, сколько комнат им требуется. Я делаю это, вызывая ajax-вызов метода действия, который возвращает частичное представление раскрывающихся списков, таким образом
@Ajax.ActionLink("[+]"
, "AddNewRoom"
, new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.InsertAfter,
UpdateTargetId = "rooms"
})
который вызывает этот метод:
public ActionResult AddNewRoom()
{
var model = new SelectedRoomVM();
return PartialView("~/Views/Shared/EditorTemplates/SelectedRoomVM.cshtml", model);
}
так что проблем пока нет. пока это не так, я пытаюсь опубликовать эти данные обратно, и сгенерированная разметка неверна. один ряд дропперов, созданный при загрузке страницы, конечно, правильно называет раскрывающиеся списки, что-то вроде строк
Rows[0].SelectedRooms[0].Adults
но динамически генерируемые просто названы
Adults
способ создания таблицы заключается в использовании шаблонов редакторов.
так по линиям
@model hotelrowVM
....
@Html.EditorFor(m=>m.Rows) //a table row
оказывает
@model roomVM
...
@Html.EditorFor(m => m.SelectedRooms) // the droppers
я немного поискал способы правильно установить HtmlFieldPrefix для шаблона, но мне не повезло. может ли кто-нибудь предложить, как я могу достичь этого, пожалуйста?
Благодарность