Я только что столкнулся с проблемой, которую никогда раньше не замечал, и я хочу знать, является ли это чем-то изолированным от моего текущего проекта по какой-либо причине или это проблема, из-за которой мне нужно паниковать, проверять каждое из моих приложений и исправлять сразу.
У меня есть два раскрывающихся списка на одной странице с использованием одного и того же списка выбора.
бывший. HomeCity и CurrentCity относятся к одному и тому же списку городов. Следовательно, в коде оба заполнены одним и тем же IEnumerable<selectListItem>
Оказывается, что если второе значение на странице равно нулю (в модели представления), то вместо значения по умолчанию optionLabel
оно по умолчанию равно первому значению.
Эта проблема очень раздражает, когда (как я часто это делаю) вы пытаетесь кэшировать SelectList
. Мало того, что следующий элемент на той же странице имеет неправильное значение, но и выбранный элемент изменяется в кеше (что так странно, потому что вы можете представить, что кеш сериализует значения и дает вам копию.
Так что у меня двоякий вопрос.
- это обычная функциональность или я как-то спровоцировал это странное поведение?
- Какой рекомендуемый способ избежать этого? Нужно ли мне делать глубокий клон моего списка выбора между раскрывающимися списками?