Я не уверен, как это будет переводиться в sharepoint, но для обычных страниц asp.net я обычно помещаю такой скрипт в голову, чтобы получить идентификаторы клиента:
<head runat="server">
<script type="text/javascript" language="javascript">
//ClientIDs for controls in naming containers that we'll want to use from javascript
var Controls = {
'ff17':<%="'" + ff17.ClientID%>',
'othercontrol':<%="'" + othercontrol.ClientID%>'};
</script>
</head>
Причина, по которой я делаю это следующим образом, состоит в том, чтобы избежать необходимости повторного рендеринга идентификатора везде, где я мог бы использовать его, и потому что я могу ссылаться на это из включенных файлов сценариев, не пропуская их через процессор asp.net. , Объект Controls должен избегать коллизий имен (нужно беспокоиться только об одном имени).
Недостатком является уродливая конкатенация строк для начальной кавычки, потому что здесь не работает более простой синтаксис '<%=o.clientid%>'
. Кроме того, это не так хорошо работает с главными страницами, где заголовок находится на главной странице, а элементы управления, которые вас интересуют, находятся на странице сведений. Но вы можете сделать это в другом месте на своей странице.