Как я могу получить доступ к runat = элемент ASP “сервера” с помощью JavaScript?

Синтаксис для вторичной розетки отличается, вам нужно определить объект - это первый параметр, чтобы связать параметр массива

8
задан Andrew 23 March 2009 в 20:19
поделиться

4 ответа

То, что, вероятно, происходит, - то, что Ваш элемент/управление в рамках одних или нескольких средств управления ASP.NET, которые действуют как именованные контейнеры (Основная страница, ITemplate, Мастер, и т.д.), и это заставляет его идентификатор изменяться.

Можно использовать "источник представления" в браузере, чтобы подтвердить, что это - то, что происходит в представленном HTML.

Если Ваш JavaScript находится на странице ASPX, самый легкий способ временно работать вокруг этого состоит в том, чтобы использовать свойство ClientID элемента. Например, если Вы имели контроль по имени TextBox1, на который Вы хотели сослаться через JS:

var textbox = document.getElementById('<%= TextBox1.ClientID %>');
26
ответ дан 5 December 2019 в 05:19
поделиться

Если у Вас есть текстовое поле:

<asp:TextBox id="txtText" runat="server" />

Можно использовать:

var textBox=document.getElementById('<%=txtText.ClientID %>');

Любой WebControl выставляет то же свойство ClientID.

2
ответ дан 5 December 2019 в 05:19
поделиться

Все, хотя на вопрос ответили, думали, что я просто отправлю некоторую дальнейшую информацию...

Rick Strahl, предоставленный вполне интересная работа вокруг к этой проблеме.

http://www.west-wind.com/WebLog/posts/252178.aspx

К счастью, когда ASP.NET 4.0 прибывает, она позволит Вам указывать exacly, каков клиентский идентификатор будет!

http://www.codeproject.com/KB/aspnet/ASP_NET4_0ClientIDFeature.aspx

1
ответ дан 5 December 2019 в 05:19
поделиться

Создание элемента runat="server" изменяет клиентский идентификатор того элемента на основе того, какие именованные контейнеры ASP.NET это в. Таким образом, если Вы используете document.getElementById для управления элементом необходимо будет передать его новый идентификатор, сгенерированный.NET. Изучите свойство ClientId для получения, который генерировал идентификатор... можно использовать его встроенный в JavaScript как так:

var element = document.getElementById('<%=myControl.ClientID%>');
3
ответ дан 5 December 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: