Нет. В некоторых случаях он может отображаться по-другому, и изменения в другом месте страницы могут изменить этот элемент управления. Правильный способ справиться с этим - обратиться к свойству .ClientID
элемента управления.
Обновление
Вот как я обычно обрабатываю идентификаторы клиентов:
<head runat="server">
...
<script language="javascript">
var ControlIDs = {
SomeControl = <%="'" + SomeControl.ClientID%>',
OtherControl = <%="'" + OtherControl.ClientID%>'
};
</script>
... other script references here ...
</head>
Я поместил скрипт первым в элемент head, чтобы он был доступен для других файлов скриптов; таким образом мне не нужно передавать файлы javascript через процессор asp.net, и мне нужно только выписать каждый идентификатор клиента один раз. Не нужно беспокоиться о том, чтобы избежать чего-либо, потому что символы 'и \ никогда не будут частью отрисованных идентификаторов клиента. Причина объекта controlID состоит в том, чтобы избежать именования коллизий с другими сценариями, и причина для объединения "" "в начале в коде сервера заключается в том, что asp.net не увидит <%
в противном случае.
Опять же: это то, что я обычно делаю, но для некоторых простых страниц это может быть излишним.