2013-02-22 2 views
1

У меня есть буквальный контроль на странице (с некоторыми данными на нем). я хочу получить к нему доступ в javascript и хочу поместить на него некоторый текст. скажите, пожалуйста, как я могу получить доступ к литеральному управлению в JavaScript. Я пытался со следующим code-Хотите получить личное значение в javascript

<asp:Literal ID="lblPerInstanceListing" runat="server"></asp:Literal> 

Javascript:

var value= document.getElementById('<%=lblPerInstanceListing.ClientID %>') 

Я получаю нулевой возврат значения этим.

+0

Контроллер asp literal не генерирует тег в html (вы можете проверить с помощью источника просмотра в своем браузере), поэтому DOM не имеет идентификатора. Вы можете использовать asp: Label (который генерирует тег span), который является частью DOM. Другой вариант - использовать родительский элемент. – rene

ответ

4

Элемент управления ASP.NET Literal сам по себе не вставляет HTML-код в веб-страницу. Элемент управления Literal является заполнителем текста или HTML, который вы укажете в своем коде.

Вы должны обернуть ваш буквальным в DIV или SPAN и дать, что ID и ссылка, DIV или SPAN в JavaScript

WebForm:

<span id="yourId"><asp:Literal ID="lblPerInstanceListing" runat="server"></asp:Literal></span> 

JavaScript: решаемые этим кодом.

var value= document.getElementById('yourId').innerText; 
-2

Это Literal. Он отображает буквальный HTML-код на страницу. Он не отображает контейнер, соответствующий ClientID, доступ к которому можно получить на стороне клиента.

Либо поставить div или spanв буквальным с идентификатором, вы можете использовать или использовать, например, a Label или Panel управление, которое делает обертывание span или div вы можете использовать.

+0

Убей меня :) –

0
<span id="yourId" runat="server"></span> 

ЯШ:

var value= document.getElementById('yourId'); 

Это не лучше, чем использовать этот код ?? Вы можете поместить в span enableviewstate значение false, если вам нужно.

Смежные вопросы