![]() |
|
Модераторы: gambit |
![]()
|
|
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Просвятите, пожалуйста, в чем отличия Id, ClientId и UniqueId, и какой из них нужно использовать при написании JS-кода.
|
|||
|
||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 1 Всего: 13 |
ClientID ASP.NET генерирует само, и оно иногда равно ClientID = UniqueID + ID (где UniqueID - айди пэрэрнт-контрола, ID - айди самого контрола), а иногда равно UniqueID. Но в любом случае юзать в жаваскриптах нужно именно ClientID так как оно "самое уникальное".
-------------------- ![]() |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Idsa,
ID -- ID на сервере ClientID -- ID на клиенте UniqueID -- ID в POST или GET запросе. -------------------- |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Всем спасибо за участие
С Id и ClientId теперь мне все понятно. Однако я до сих пор не понимаю, зачем же все-таки понадобилось введение UniqueId?
Не получается связать все это в единое целое :( |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Для того, чтобы ты мог использовать в своем коде id-шники типа "m_Label", а asp.net все равно могла бы правильно строить дерево элементов, работать с ними и рендерить.
Поэтому: 1) тот ID который ты написал на странице (для обеспечения его уникальности) преобразуется в UniqueID. Например твой Id "m_Label" превращается в "ctr00$ctr01$ctr03$m_Label" 2) на этапе рендеринга в UniqueID символы '$' заменяются на '_' и этот ID уже превращается в "ctr00_ctr01_ctr03_m_Label" и называется ClientID Кстати, двоеточие было в ASP.NET 1.x теперь появились ECMA-script-ы и в ходу только звонкий долар! а то уже многие в Европе стали забывать как он пишется... -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
tol05, спасибо за ответ.
Если с первой частью я разобрался, то пункт №2 меня определенно смущает: зачем было введено 2 уникальных поля, когда, на мой взгляд, можно было ограничиться одним? Это сообщение отредактировал(а) Idsa - 12.10.2007, 05:52 |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
да потому что нельзя в браузер отправлять id-шники с символом '$'.
Браузер воспринимает его как служебный символ - параграф. погугли и почитай сам И нужно же было что-то принять как разделитель для id-шников в asp.net? Кроме '_' ? Вот и выбрали $ А браузеру его нельзя отправлять. Вот и рендерят все id-шники с заменой. И свойство сделали, чтоб ты видел реальный id своего контрола. Чтоб ты в скриптах его правильно писать мог и с request-а правильно считывал... -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
||||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
А я так до сих пор и не понял :(
Ответьте, пожалуйста, на вопрос в предыдущем посте. |
|||
|
||||
| tol05 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Есть страница Default.aspx
с файлом Default.aspx.cs
в браузере такой код
Рассуждаем "от противного" - нет UniqueID, только ClientID. От браузера пришел постбек с информацией : "нажата кнопка Repeater1_ctl04_Button". Как понять какая из двух (та, что последняя в репитере или отдельная)? -------------------- На хорошей работе и сны хорошие снятся. |
||||||
|
|||||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
tol05, это как раз тот пример, которого мне не хватало
Спасибо! +1. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Я рад, что эта "долгоиграющая" тема закрылась наконец. За +1 отдельное спасибо! -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Плюс не получилось поставить сразу, т. к. сработало ограничение на слишком частое плюсование одному человеку. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |