динамическое отображение и размещение элементов формы в ASP.NET MVC 2 - PullRequest
0 голосов
/ 09 апреля 2011

Мне нужно визуализировать набор элементов формы динамически (на основе значения, выбранного в каком-либо другом элементе формы) и отправить их значения обратно в контроллер.У меня есть поисковая форма для гостиничной индустрии, в которой отображаются параметры поиска, связанные с отелем, такие как количество комнат, количество взрослых, количество детей, возраст детей и т. Д.

На основе значения, выбранного для «Нет номеров»В раскрывающемся списке необходимо отобразить / отобразить элементы формы, чтобы получить количество взрослых, детей и возраст детей для каждой комнаты.Что может быть лучшим способом для динамического рендеринга и переноса значений для вышеперечисленных элементов формы (поля «Количество взрослых», «Дети» и «Возраст детей» ДЛЯ КАЖДОЙ КОМНАТЫ) из моего представления в контроллер?

Моя модель просмотра выглядит каккак это:

public class HotelSearchView
{
    public DateTime CheckInDate { get; set; }
    public DateTime CheckOutDate { get; set; }
    public string DestinationCity { get; set; }

    public List<GuestView> Guests { get; set; }

    // Other fields...
}

public class GuestView
    {
        public string RoomNumber { get; set; }
        public string GuestType { get; set; } // Adult, Child etc.
        public string GuestAge { get; set; } // Will contain a value ONLY for GuestType:Child
    }

1 Ответ

0 голосов
/ 09 апреля 2011

Используйте JavaScript, чтобы вставить новые элементы ввода в DOM для количества выбранных комнат. Каждый набор входных данных должен иметь правильное имя, чтобы оно правильно связывалось со списком в модели представления:

<input type="text" name="Guests[0].RoomNumber" />
<input type="text" name="Guests[0].GuestType" />
<input type="text" name="Guests[0].GuestAge" />

<input type="text" name="Guests[1].RoomNumber" />
<input type="text" name="Guests[1].GuestType" />
<input type="text" name="Guests[1].GuestAge" />

etc....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...