Как установить идентификатор элемента HTML на стороне клиента - PullRequest
0 голосов
/ 25 июля 2011

Мы пытаемся написать форму на ASP.net, используя Visual Studio.Мы хотим иметь возможность контролировать конечный идентификатор клиентской стороны элементов, чтобы мы могли легко ссылаться на них в коде jquery.

Обычный атрибут 'id' в ASP.net получает странный префикс, который мы не можем контролироватьна стороне клиента.

Как мы можем полностью контролировать окончательный идентификатор клиента на стороне элемента?

Спасибо!

IE:

<asp:TextBox ID="TBICDCode6"  runat="server" Width="240">

Я хочу иметь возможность ссылаться на текстовое поле, используя

$("#TBICDCode6");

Ответы [ 3 ]

1 голос
/ 25 июля 2011

Если вы используете ASP.NET 4.0, вы можете сделать это, установив Control.ClientIDMode в static

<asp:TextBox ID="TBICDCode6"  runat="server" 
        ClientIDMode="Static"
        Width="240">
</asp:TextBox>

Или, если вы используете более старую версию ASP.NET, попробуйте это.

$("#" + '<%= TBICDCode6.ClientID %>')
1 голос
/ 25 июля 2011

Это общеизвестный факт, что asp.net делает гадости с идентификаторами. он должен быть лучше в asp.net 4.0, но я еще не пробовал.
Попробуйте прочитать «Ссылки на серверные элементы управления в клиентском скрипте» здесь .
Кроме того, вы можете полностью обойти все это, используя другой атрибут (например, name).
тогда ваши селекторы будут $("[name=someId]") вместо $("#someId")

1 голос
/ 25 июля 2011

Попробуйте:

$("#<%= TBICDCode6.ClientID %>");
...