Всплывающее диалоговое окно не перерисовывается после первого запуска - PullRequest
0 голосов
/ 02 июня 2011

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

Я добавил код в мой контроллер, который устанавливает индекс в объекте ViewData для извлечения всплывающим окном, и он работает при первом запуске приложения. Моя проблема в том, что любые последующие запуски всплывающего диалогового окна не попадут в соответствующий код для установки индекса с использованием ViewData. Код, который должен быть выполнен:

<%= Html.Telerik().DropDownList()
                      .Name("DataStoreTypeId")
                      .BindTo(new SelectList(Model.DataStoreTypes, "DataTypeId", "Name",Model.DataTypeSelectedId))
                      .HtmlAttributes(new { style="width:205px })
                      .SelectedIndex((int)ViewData["SelectedIndex"])
                %>

Исходя из опыта ASP.NET, я привык использовать обратные передачи в качестве механизмов для обработки этих типов действий, но MVC обрезал события обратной передачи, что очень важно для производительности, но какие у меня есть варианты для принудительного выполнения кода сейчас? 1006 *

Должен ли я использовать другие альтернативы?

1 Ответ

1 голос
/ 03 июня 2011

Первый раз это работает, потому что его значение установлено на стороне сервера. после его отображения в браузере серверная часть не останется. Вы должны вручную изменить выбранное значение вашего выпадающего списка telerik при нажатии кнопки рядом с вашим первым выпадающим списком (первый DD также является выпадающим списком telerik или html). Для клиентских событий выпадающего Telerik посмотрите Telerik Demos для asp.net mvc

...