2013-02-26 3 views
1

Всем известно, что создается идентификатор для всех изменений пользовательского элемента управления на странице asp.net.Как получить правильный ID (html) элемент управления в ASP.net?

<div id="ID-value" runat="server"></div> 

становится:

<div id="ct100$ID-value"></div> 

Это может быть боль в заднице, я думаю, особенно, когда вы пытаетесь связать объекты JavaScripts. So.

Есть ли способ получить правильный ID, как показано на странице html? так что я могу вручную связать этот объект с java-скриптом? (другими словами: я хочу «ct100 $ .....») Спасибо!

+0

какой .net версия? –

+0

asp.net версия 3.5 – Easyrider

ответ

5

Вы можете сделать это, как показано ниже в JavaScript

document.getElementById('<%=ID-value.ClientID%>') 

или JQuery

$('#<%=(ID-value).ClientID%>') 

Это лучше, потому что вы можете получить доступ к элементам непосредственно с фактическими идентификаторами в фоновом коде.

+0

Я искал <% = ID-value.ClientID%>, большое спасибо! – Easyrider

3

Если вы используете ASP.net 4.0 или более поздней версии, вы можете попробовать установить статический статус ClientIDMode - это предотвратит запись Id из ASP.net (но не даст вам уникальных идентификаторов для элементов управления, включенных внутри других элементы управления, которые связывают несколько строк).

+0

Кроме того, если вы пытаетесь получить ссылку на элемент управления в JavaScript, самым простым вариантом является использование селектора jQuery и предиката идентификатора ID $ =. Например, $ ('ID $ = TextBox1') найдет элемент управления ct100 $ TextBox1. – NYSystemsAnalyst

+0

Зачем ему устанавливать идентификатор div в идентификатор другого элемента управления? – MikeSmithDev

+0

@MikeSmithDev хорошая точка –

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