MVC Html.DropDownList выбранное значение переопределяется значением QueryString - PullRequest
3 голосов
/ 09 августа 2011

Я использую раскрывающийся список в моем представлении следующим образом:

@Html.DropDownList("ClientId", Model.AvailableClients, "-- None --")

Model.AvailableClients - это IEnumerable, для одного из свойств Selected элемента которого установлено значение true.Если в строке запроса для запроса на странице указано «ClientId =» (как и в случае его отсутствия), MVC игнорирует мой выбранный элемент.Я предполагаю, что это потому, что MVC пытается быть полезным и автоматически устанавливает выбранный элемент, используя строку запроса, но я не хочу этого.

Как я могу предотвратить переопределение значения строки запроса выбранного значения моего элемента?

1 Ответ

0 голосов
/ 10 августа 2011

Если имя, которое вы даете своему DropDownList, уже является именем элемента в вашей модели, тогда DropDownList автоматически переопределит выбранное значение значением модели. Если позволить ClientId определять выбранное значение не вариант, то единственное известное мне решение - переименовать DropDownList с именем, не включенным в модель.

@Html.HiddenFor(m => m.ClientId)
@Html.DropDownList("ClientIdNewName", Model.AvailableClients, "-- None --", new { onchange = "ClientId.value = this.value"})

Это сохранит значение в ClientId, не делая его значением по умолчанию.

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