Получить идентификатор элемента управления в пользовательском элементе управления во время выполнения - PullRequest
0 голосов
/ 22 марта 2011

возможно ли получить идентификатор, назначенный пользовательскому элементу управления, из элемента управления, используя javascript или jquery.

Спасибо

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Что обычно делает ASP.NET, так это префикс ID вашего элемента управления строкой, которую он использует, чтобы определить, где в дереве элементов управления ASP.NET находится ваш фактический элемент управления.

Учитывая это, я обычно делаю следующее:использовать селектор jQuery «заканчивается с» для получения полного ASP.NET-анализируемого идентификатора во время выполнения.

Что-то вроде:

// get a handle on your original control
var myControl = $('[id$="<myOriginalId>"]');
// and then access it's properties
var myRuntimeId = myControl.eq(0).attr('id');

Как вы, вероятно, можете себе представить, это не будетобрежьте его, когда у вас есть UserControls с тем же идентификатором, который используется в разных местах формы.Я просто заскочил и добавил кое-какие настройки (возможно, с использованием функции .eq()), чтобы удовлетворить потребности моего бизнеса.

2 голосов
/ 22 марта 2011

Вы можете поместить класс в usercontrol, а затем использовать что-то вроде $ (". MyUC"). Attr ("id")

1 голос
/ 22 марта 2011

Это может помочь вам взглянуть на это с другой точки зрения: в .Net вы можете получить сгенерированный идентификатор, используя myControl.ClientID.

Если вы поместите это в переменную javascript - я знаю,это не аккуратно - вы можете легко получить его.

<!--mypage.aspx-->
<script>
  var myIdVar = "<%=myControl.ClientID%>";
  if(myIdVar == "foo")
  {
    alert("bar");
  }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...