0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
1

Как найти ID элемента своего контрола (usercontrol) который помещен на форму

09.03.2012, 03:14. Показов 3250. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ребят... подскажите плз как найти ID элемента своего контрола(usercontrol) который кинул на форму??? вариант, что б оканчивался на ID заданный в контроле не канает т.к. контролов на странице может быть несколько
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2012, 03:14
Ответы с готовыми решениями:

Ошибка при добавлении своего контрола на форму
Здравствуйте! У меня постоянно возникает одна и та же ошибка. Лично для меня не слишком...

Через свойство своего UserControl вызвать другую форму и передать в неё данные
Добрый день, друзья! Создал свой UserControl и в нем прописал свойство public Form frm; public...

Взаимодействие UserControl с Window, в которое он помещен. Какие существуют варианты оповещения окна о событиях в элементе
до сих пор делсю так: в UserControl ApplicationCommands.Help.Execute(true, null); ...

Как из своего контрола получить список объектов расположенных на форме (читай внутри!!!!!!!)
Я пишу свой контрол. Из кода своего контрола я хочу получить список контролов на форме на которую я...

10
23 / 23 / 5
Регистрация: 05.03.2009
Сообщений: 181
09.03.2012, 07:10 2
C#
1
$('#<%= Id твоего контрола.ClientID %>').text();
1
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
11.03.2012, 21:14  [ТС] 3
Цитата Сообщение от freegat Посмотреть сообщение
C#
1
$('#<%= Id твоего контрола.ClientID %>').text();
а если скрипт находится в отдельном файле, такое разве проканает?

Добавлено через 22 часа 33 минуты
Ну т.е. вот есть у меня контрол с кнопкой.... и файл скрипта на jquery
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$(document).ready(function(){
    var addButton = $('#addButton');
    var removeButton = $('#removeButton');
    var optionsList = $('select[id$="optionsListBox"]');
    var selectedOptionsList = $('select[id$="selectedOptionsListBox"]');
 
    addButton.click(function(){
        $.each(optionsList.val(), function(key, value){
            selectedOptionsList.append($('<option></option>').
                attr({
                    'value':value,
                    'selected':'selected'
                }).
                text(value));
        });
        $('select[id$="optionsListBox"] :selected').remove();
    });
 
    removeButton.click(function(){
        $.each(selectedOptionsList.val(), function(key, value){
            optionsList.append($('<option></option>').
                attr('value',value).
                text(value));
        });
        $('select[id$="selectedOptionsListBox"] :selected').remove();
        $('select[id$="selectedOptionsListBox"] option').attr('selected','selected');
    });
});
так вот это вот не будет работать если я на страницу помещу два своих контрола...вот сопсна и вопрос...как вытянуть полное ID для jquery
Вот эти строчки на что поменять? Что бы было универсально.
Javascript
1
2
var optionsList = $('select[id$="optionsListBox"]');
    var selectedOptionsList = $('select[id$="selectedOptionsListBox"]');
0
HF
1154 / 740 / 181
Регистрация: 09.09.2011
Сообщений: 2,299
Записей в блоге: 2
11.03.2012, 23:09 4
Цитата Сообщение от escapade Посмотреть сообщение
как вытянуть полное ID для jquery
Скрипт, в каком бы он файле не находился, будет обращаться по имени ID которое указано в "...". Другой вопрос интересен - что именно не работает и почему вы хотите "полное ID"? А у вас какое?
Одна пока только мысль по рассказанному: Может быть дело в том, что надо включить режим Static ID чтобы имя элементов было коротким и понятным?
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
12.03.2012, 01:44  [ТС] 5
Цитата Сообщение от HF Посмотреть сообщение
Скрипт, в каком бы он файле не находился, будет обращаться по имени ID которое указано в "...". Другой вопрос интересен - что именно не работает и почему вы хотите "полное ID"? А у вас какое?
Одна пока только мысль по рассказанному: Может быть дело в том, что надо включить режим Static ID чтобы имя элементов было коротким и понятным?
В общем дело обстоит так.... Я создал свой юзер контрол, в котором имеется два лист бокса. И все с этим скриптом работает на ура... пока на странице у меня один такой контрол.... если же я кину на форму два таких контрола - скрипт работать не будет( или будет работать не корректно ).
Вот и спрашиваю как вот эти вот селекторы
Javascript
1
2
var optionsList = $('select[id$="optionsListBox"]');
    var selectedOptionsList = $('select[id$="selectedOptionsListBox"]');
которые ищут элементы, оканчивающиеся на эти слова, заменить более гибкими, которые бы учитывали уникальный ID контрола. Asp.nt же по итогу элемента делает ID = usercontrolID + ID элемента usercontrolа
вот как определить в каком именно uc я нажал буттон и тд
0
2734 / 2041 / 379
Регистрация: 22.07.2011
Сообщений: 7,731
12.03.2012, 11:56 6
HTML5
1
2
3
<asp:Button runat="server" ID="addButton" OnClientClick="addButton(this)"/>
//или
$('#<%=addButton.ClientID%>').click(...);
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
12.03.2012, 12:23  [ТС] 7
не работает
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
12.03.2012, 12:29  [ТС] 8
запиливаю сюда солюшн...гляньте пожалуйста, и ткните меня носом.. плиз)
Вложения
Тип файла: 7z SelectionControl.7z (105.1 Кб, 5 просмотров)
0
HF
1154 / 740 / 181
Регистрация: 09.09.2011
Сообщений: 2,299
Записей в блоге: 2
12.03.2012, 12:37 9
Цитата Сообщение от escapade Посмотреть сообщение
не работает
Что именно не работает или что вы ждёте и что получаете?

если вы сделаете
HTML5
1
<asp:Button runat="server" ID="BtnForm1" OnClientClick="addButton(this)"/>
то в функцию addButton придёт ссылка на кнопку. Из неё вы можете получить имя элемента. И заполнять ваши ссылки уже относительно этого

Javascript
1
2
3
4
5
6
7
function addButton (myButton)
{
...
var eventButtonId = myButton.id;
 
var optionsList = $('select[id$="optionsListBox_' + eventButtonId + '"]');
var selectedOptionsList = $('select[id$="selectedOptionsListBox_" + eventButtonId + ']');
Тогда при нажатии вами будет получен уникальный номер, например "BtnForm1", который будет подставлен для поиска элементов: optionsListBox_BtnForm1 и selectedOptionsListBox_BtnForm1
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 78
12.03.2012, 13:28  [ТС] 10
Цитата Сообщение от HF Посмотреть сообщение
Что именно не работает или что вы ждёте и что получаете?

если вы сделаете
HTML5
1
<asp:Button runat="server" ID="BtnForm1" OnClientClick="addButton(this)"/>
то в функцию addButton придёт ссылка на кнопку. Из неё вы можете получить имя элемента. И заполнять ваши ссылки уже относительно этого

Javascript
1
2
3
4
5
6
7
function addButton (myButton)
{
...
var eventButtonId = myButton.id;
 
var optionsList = $('select[id$="optionsListBox_' + eventButtonId + '"]');
var selectedOptionsList = $('select[id$="selectedOptionsListBox_" + eventButtonId + ']');
Тогда при нажатии вами будет получен уникальный номер, например "BtnForm1", который будет подставлен для поиска элементов: optionsListBox_BtnForm1 и selectedOptionsListBox_BtnForm1
мне нужно учесть что контрол может быть не один на странице... следовательно к IDшникам элементов будет приписан ID контрола префиксом....вот как вот его получать?
0
HF
1154 / 740 / 181
Регистрация: 09.09.2011
Сообщений: 2,299
Записей в блоге: 2
12.03.2012, 14:45 11
Всё запутаннее и запутаннее. Мой вариант что не позволяет сделать?
У меня только два варианта:
- у вас очень сложная система. Она наверняка реализуема, но в итоге наверняка будут проблемы в дальнейшем. Проверки, расширения кода и т.п. Я бы пересмотрел вообще логику.
- введите в кнопке Атрибут. И отлавливая кнопку, читайте атрибут. В нём можно всё что угодно понаписать. Хоть перечислить все подконтрольные списки.
0
12.03.2012, 14:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2012, 14:45
Помогаю со студенческими работами здесь

Как найти обработчик который обрабатывает форму
Доброе время суток, уважаемые форумчане. Вопрос заключается в следующем. На HTML форме, есть кнопка...

Сериализация Контрола (UserControl)
Столкнулся с проблемой сериализации контрола, который я сделал. Имеется класс AppSettings с...

Как запихнуть UserControl на форму?
Привет. Человеки, помогите... Dim ctl As VariantSet ctl =...

Как добавить usercontrol на форму
Создал userControl. Его возможно разместить на форме только программно? На панели элементов он не...

Как добавить userControl на форму динамически
при включении программы должен появится userControl1, при нажатии на кнопку-заместо первого должен...

Как сделать форму UserControl`a прозрачной?
При создании своего ActiveX Control`a есть необходимость сделать его форму прозрачной, чтобы видны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru