Изменение значения DropDownList на стороне клиента .Net - PullRequest
0 голосов
/ 10 декабря 2010

Предполагая, что я не могу изменить файл с выделенным кодом для сайта (это скомпилированный сайт), я столкнулся с моей ошибкой, которую можно полностью исправить только с помощью полной перекомпиляции и повторного развертывания. К сожалению, у нас строгий график выпуска, и мы не можем развернуть еще 11 дней.

Ошибка в том, что я проверяю выпадающий список, чтобы убедиться, что выбранное значение не равно «-1». Однако я не использовал drp.SelectedItem.Value, я использовал drp.Items [0] .Value. Тотальный тупоголовый ход с моей стороны. Суть в том, что drp.Items [0] .Value - ВСЕГДА -1, поэтому их страница выдает ошибку пользователю, утверждая, что ему нужно выбрать опцию для этого раскрывающегося списка. Что у них действительно есть, но моя ошибка не позволяет им продолжать этот процесс.

Потому что я идиот.

Итак, я пытаюсь определить, могу ли я на стороне клиента заменить значение первого элемента drp на фактически выбранное значение этого раскрывающегося списка.

Я получил все это для работы на стороне клиента, но когда форма отправляется обратно, значение по-прежнему является значением, которое было заполнено из кода, что означает «-1».

Я уверен, что это потому, что раскрывающийся список загружен, и все значения содержатся в ViewState.

Может кто-нибудь придумать .Net дружественное решение для этого? Я действительно надеюсь, что есть один.

1 Ответ

0 голосов
/ 11 декабря 2010

К сожалению, когда браузер выполняет обратную передачу, все элементы управления воссоздаются со значениями по умолчанию, а затем обновляют свои значения из состояния просмотра и значения публикации.И элемент управления DropDownList не обновляет значения ListItems из другой коллекции значений.Если мы изменим значение ListItem на стороне клиента с помощью javascript, на стороне сервера наш элемент управления будет содержать значения по умолчанию в своей коллекции ListItem, в нашем случае это -1.

С уважением, Дима.

...