Я считаю, что в качестве общего правила лучше избегать идентификаторов жесткого кодирования в JavaScript. Я также обнаружил, что лучше позволить ASP генерировать вещи для вас, где это возможно, ASP получает то, что ожидает ASP.
Если вы позволяете ASP генерировать ваш __doPostback для вас, вы знаете, что ASP знает, какой контроль вы говорите. Вы получите правильный eventtarget и eventargument для рассматриваемого элемента управления, когда используете ClientScript.GetPostbackEventReference. Даже если вы переместите его в разметке или иным образом сделаете что-то, чтобы изменить свой клиентский ASP, ASP все еще знает, о чем вы говорите, потому что он генерирует JavaScript.
Предоставлено, вы могли бы избежать этой конкретной ловушки с хорошим местом <% = MyControl1.ClientID%>, но я думаю, что держать его в фокусе чище.
Я попытался найти статью или блог, говоря об этом, чтобы поддержать меня, чтобы это было не строго мнение, но большинство из того, что я нашел, было инструктировано о том, КАК использовать его, а не о том, почему вы должны использовать Это.