![]() |
|
Модераторы: gambit |
![]()
|
|
| Idsa |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
В MSDN сказано:
Однако в Рефлекторе ничего подобного я не нашел:
Ну и где же "the control resets the value to 0"? Может, имеется в виду, что при рендеринге по умолчанию будет выставлено selected для нулевого элемента... |
||||
|
|||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Idsa, чувак, я понимаю что ты хочешь показать всем какой ты крутой и модный программист, но если бы у тебя было хотя бы доля интеллекта или логики реального программиста, который живет этим и программирует(а не задает вопросы), то ты бы посмотрел бы метод this.ClearSelection(); посмотрел что там скидываются все выделения в false и дальше если value>=0 то устанавливается уже выбранный элемент, ВСЕ, тут больше ничего не происходит. Т.е. на клиент приходит DropDownList без выделенных элементов И потому как пишут браузеры нормальные люди, которые понимаю программирование, то по умолчанию в <select><option></option></select> выбирается первый <option></option> из коллекции присутствующих внутри.
P.S. не задавай вопросы, в которых ты даже не соизволил хотя бы чуть-чуть разобраться -------------------- |
|||
|
||||
| Idsa |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Спасибо за комплимент (конечно же, я просмотрел этот метод).
Вот именно! Ничего больше не происходит. И если бы ты прежде, чем нести всякий вздор, внимательно прочитал вопрос: , то понял бы, что именно это меня и смущает. Это я тоже упомянул:
P. S. Если у тебя плохое настроение, не нужно его распространять на форуме, лучше промолчи, ну зачем же так позориться?! |
||||
|
|||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Вот черт, не заметил. Эх, лажанулся, ну да ладно. Но все равно, почему ты не думаешь логически. Ну даже если не думать логически, ну хотя бы запусти пример. Такое чувство, что ты только читаешь MSDN и не пишешь ничего. Вот это и раздражает меня, я ненавижу людей который начинают задавать вопросы даже не разбираясь в них сами. Если тебе не нравиться то что генерируется, ну так запусти тогда статический пример, посмотри документацию на тот элемент html разметки в который рендириться asp.net контрол. Да, и кстати, на самом деле selected не выставляется для нулевого элемента(посмотри в сгенерированный html код и там будет этого свойства). Он просто отсутствует. А браузер уже подбирает первый попавшийся элемент как выбранный. P.S. частично забираю свои слова обратно, но не все. -------------------- |
|||
|
||||
| Idsa |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Уже хорошо. Однако твои претензии мне совершенно непонятны Я указал тебе, что ты неправильно понял вопрос... а ты продолжаешь писать какие-то общие фразы весьма весьма сомнительного содержания. А указанный мною "ляп" так никто и не прокомментировал! Объясню, почему меня это так задело. Как известно, в DropDownList прежде, чем выставлять Selected=true для одного из Item'ов, нужно снять выделение с другого. Если быть более точным, то главное, чтобы при рендеринге не было выделено более 1 элемента, т. к. там происходит проверка. Для "сброса" выделения можно использовать следующий код:
Однако, просмотрев в рефлекторе свойство SelectedIndex, я решил, что "сброса" выделения можно добиться присвоением SelectedIndex значения -1. Этот код уже занимает не 3, а 1 строчку Однако затем я натолкнулся в MSDN на это замечание: Оно меня смутило, потому что: 1. Такого поведения в рефлекторе я не заметил 2. Если MSDN прав, то для "сброса" выделения SelectedIndex использовать нельзя. Mymik, надеюсь, теперь ты возьмешь назад свои необоснованные обвинения и наезды:
|
||||
|
|||||
| Mymik |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
с этого места поподробнее, какие кажутся тебе сомнительного содержания ??? Пойди по другому пути и взгляди дальше чем серверный код, ты увидишь, что когда рендирится DropDownList с выделенным элементом, то в соответственный option имеет selected. Что говорит браузеру который отображает код, мол вот option и он должен быть выбран по умолчанию в данном select'е. Когда же ты сбрасываешь все выделения, то браузер сам выбирает какой элемент ему выбрать по умолчанию. Т.е. к нему приходит код, select'а который не содержит ни один option с selected записью. И по умолчанию выбирается первый элемент из коллекции option. Ну вот как в C# есть безопасные значение полей, так и у браузеров есть безопасное значение select.
Твоя же цитата говорит о том, что у select"а на клиенте должен быть выбран хотя бы один элемент. И этот элемент является элементом по умолчанию
Если тебе в это не вериться, то напиши простой код, просто html код и запусти его
Этот код это срендереный DropDownList.SelectedIndex = -1 У него нет ни единого выбора, и тем не менее в нем высвечивается "1" а значит элемент выбран. Вот именно потому люди когда делают DropDownList с обязательным выбором, они всегда добавляют пустой элемент, который свидетельствует о том, что пользователь не соизволил выбрать ни один из вариантов. И в JS проверяют выбранный вариант.
P.S. вот так всегда, большенство web-developer'ов твоего возраста страдают мыслью о том, что дальше сервера их ничего не должно волнует -- так мы и получаем сайты только под IE, да и то, там тоже могут не работать и нагрузки на сервер страшные. А ведь не все asp.net должен делает... нужно еще и html пользоваться и CSS и JS'ом. :о(. -------------------- |
||||||||||
|
|||||||||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Mymik, если честно, то твои посты похожи на бред сумасшедшего. Такое ощущение, что тебе непременно нужно на кого-то наехать, даже несмотря на отсутствие повода. Твои множественные выводы о моей никчемности, о моем неумении пользоваться CSS и JS и т. д. и т. п. без единого аргумента - это что-то.
Итак, если быть кратким, то суть твоих постов сводится к следующему: Теперь сравним с цитатой: В цитате говорится, что при присвоении SelectedIndex = -1 контрол сам присвоит ему значение 0. Заметь, контрол, а не браузер!
Мне кажутся сомнительными твои обвинения: 1. ты обвинял меня в том, что я не разобрался с вопросом (я это опроверг) 2. ты обвинял меня в отсутствии логики (опять ты оказался неправ) 3. ты обвинял меня в неумении пользоваться JS и CSS (и опять оказался неправ). Все твои обвинения не имеют под собой никакой почвы, кроме, пожалуй, больной фантазии. Извинился бы уже, да и шел с миром. P. S. Пожалуйста, если захочешь написать ответ, на сей раз внимательно ознакомься с моими аргументами! Это сообщение отредактировал(а) Idsa - 15.7.2007, 13:57 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 5 Всего: 232 |
Тему пока закрываю. -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |