Ответ 1
(В дополнение к моему первоначальному ответу выше)
Хорошо, поскольку вы, вероятно, знаете, что UniqueID используется с атрибутом name и ClientId с атрибутом id отображаемого HTML-тега. UniqueID использует двоеточие в качестве разделителя. С другой стороны ClientId использует символ подчеркивания как разделитель, потому что двоеточие не разрешено в именах переменных JavaScript. ClientID действительно также уникален на странице, поскольку UniqueID есть, но ClientID нацелен на обработку на стороне клиента и UniqueID для серверной стороны (довольно очевидный), последний особенно предназначен для маршрутизации данных и событий обратной передачи с помощью составных элементов управления
Однако я думаю, что некоторые рассуждения могут заключаться в том, что использование подчеркивания как разделителя в обычных идентификаторах управления является довольно распространенным поведением, и поэтому подчеркивание не может использоваться в UniqueID в качестве разделителя полномочий (если мы теоретически думаем об управлении с одним свойством), потому что вы могли бы Не делайте различия между элементами управления. С другой стороны, по тем же соображениям вы не можете использовать двоеточие в идентификаторах управления, Framework Page Framework не разрешает его, так что он гарантирует, что двоеточия не смогут попасть на идентификаторы ClientID (это из-за того, что JavaScript не нравится).
И по этим причинам двоеточие - довольно хороший выбор для использования в UniqueID, потому что метод FindControl может использовать его для навигации по дереву управления и локализации элементов управления (он может легко разделить UniqueID).