Так что я застрял, пытаясь получить доступ к значению HiddenField в моем UserControl из моего JavaScript.
В моем пользовательском контроле у меня есть:
<asp:HiddenField ID="HiddenField1" runat="server" />
Этот пользовательский элемент управления используется внесколько мест, а иногда и несколько раз на одной странице, поэтому ClientIDMode = Static не является опцией, и это должен быть runat = server, так как мне нужно получить к нему доступ также в коде позади.
В моем JavaScript у меня естьпопробовал следующее:
document.getElementById('<%= HiddenField1.ClientID %>');
document.getElementById('HiddenField1');
$find("<%= HiddenField1.ClientID %>");
Все они возвращают ноль.Я видел несколько «решений», предлагающих
document.getElementById('ctl00_ContentPlaceHolder1_HiddenField1')
Но это, очевидно, создает проблемы для повторного использования.
РЕДАКТИРОВАТЬ: HTML, сгенерированный этим является:
<input type="hidden" name="ctl00$ctl00$MainContent$MainContent$$ctl00$SomeUserControl$someOtherUserControl1$HiddenField1" id="MainContent_MainContent_SomeRepeater_SomeUserControl_0_someOtherUserControl1_0_HiddenField1_0" value="353">
Значение устанавливается в коде с помощью других функций.
EDIT2: Обобщенный пример моего кода