Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53

Создать event onClick для Web Server Controls

07.12.2012, 17:51. Показов 4018. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать Web Server Controls, и для этого контрола нужно создать event onClick, который в свою очередь должен выполнить нужный мне метод. Както я и через "__dopostback", и через "GetPostBackEventReference" пытался, все в пустую. Если кто может накиньте простинький пример как это все сделать. Ну или ссылку на пример.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2012, 17:51
Ответы с готовыми решениями:

Radiobutton onclick event
Вообщем есть сетевое приложение. Загружаю данные человека и на форме есть куча чекбоксов и радиобатонов. На эти элементы повесил...

Создать OnClick для Image
Здравствуйте, как можно создать обработчик нажатия на Image. Пытаюсь сделать UI для крестиков ноликов 3x3 и связать его с моделью данных...

Создать событие OnClick для Label
Добрый день!) Помогите пожалуйста создать Javascript для события OnClick. Как таково события в ASP я вижу нету для label. Суть...

26
326 / 159 / 45
Регистрация: 06.12.2012
Сообщений: 305
09.12.2012, 19:41
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от fidesxfx Посмотреть сообщение
Толи у меня руки кривые, или же что то тут не так, не работает. То есть при клике на серверконтрол ноль реакций относительно label.
мне пришлось полностью перебиндить ссылку на сборку. и заново добавить в панель элементов, только тогда он увидел мое событие.
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
09.12.2012, 22:07  [ТС]
На самом деле руки были кривые) Я называл событие OnClick, и вызывал его тоже по принципу OnClick="", а нада было OnOnClick = "", переименовал свое событие и все нормально работает.
Очередной вопрос, я наследую клас WebControl, в котором есть свойство Enabled. Суть вопроса я делаю вот так вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
            
protected override void Render(HtmlTextWriter writer)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID.ToString());             
                writer.AddAttribute("text", Text);
                writer.AddAttribute("Enabled",Enabled.ToString());
                writer.AddAttribute("onclick", Page.ClientScript.GetPostBackEventReference(this, ""));
                writer.RenderBeginTag("SomeIncome");
                writer.Write(Text);
                writer.RenderEndTag();               
                
            }
на страничке делаю вот так вот:
HTML5
1
2
<cc2:ServerControl1 ID="ServerControl2" Text="InTime" runat="server" 
            onmyclick="ServerControl2_MyClick" Enabled="False"> </cc2:ServerControl1>
Но элемент не становится неактивным, остается как и все другие. Что я делаю не правильно?
0
326 / 159 / 45
Регистрация: 06.12.2012
Сообщений: 305
09.12.2012, 22:22
Цитата Сообщение от fidesxfx Посмотреть сообщение
Но элемент не становится неактивным, остается как и все другие. Что я делаю не правильно?
наверно как то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
protected override void Render(HtmlTextWriter writer)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID.ToString());             
                writer.AddAttribute("text", Text);
                if (Enabled == true)
                {
                    writer.AddAttribute("onclick", Page.ClientScript.GetPostBackEventReference(this, ""));
                }
                writer.RenderBeginTag("SomeIncome");
                writer.Write(Text);
                writer.RenderEndTag();               
                
            }
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
09.12.2012, 22:55  [ТС]
Все не так просто, ну вы меня натолькнули на мысль, как сделать контрол не активным:
C#
1
2
3
4
if (Enabled == false)
                {
                    writer.AddAttribute("Disabled", "False");
                }
А что насчет
C#
1
writer.AddAttribute("onclick", Page.ClientScript.GetPostBackEventReference(this, ""));
тут пока не понятно, с 1 стороны все верно для неактивного контрола ненадо ничего делать с другой стороны на страничку надо рендерить для всех контролов.
HTML5
1
onclick="__doPostBack('ServerControl2','')
Я пока вижу только 1 вариант, в случаю если Enabled=false, рендерить фейковый постбек, без какого либо обработчика. Но както не елегантно все это.
0
326 / 159 / 45
Регистрация: 06.12.2012
Сообщений: 305
09.12.2012, 23:17
Цитата Сообщение от fidesxfx Посмотреть сообщение
Все не так просто, ну вы меня натолькнули на мысль, как сделать контрол не активным:
вопрос, что значит по вашему неактивен?для меня значит, что он виден но на onclick не реагирует. Если для вас, что то другую тогда логику можете любую ставить. и для чего добавлять атрибут Diseble разве, что для css.
я не знаю для чего вам пост бек, но если над тогда
вставьте проверку на Enable в другое место.
Вот сюда.
C#
1
2
3
4
5
6
7
8
9
public void RaisePostBackEvent(string eventArgument)
            {
                if (Enabled == true)
                {
                    OnMyClick(EventArgs.Empty);
                    Text = "Some Method To Do";
                }               
 
            }
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
09.12.2012, 23:30  [ТС]
Да так и сделал, неактивный имеется ввиду, что он не реагирует на Click, и также отображается на странице серым цветом)
0
326 / 159 / 45
Регистрация: 06.12.2012
Сообщений: 305
09.12.2012, 23:48
ну в Render
C#
1
2
3
4
if (Enabled==false)
{
        writer.AddAttribute("style", "color:#999999;");
}
и будет серый
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2012, 23:48

VS 2005 - где найти web controls?
Поставил VS 2005. Вроде все ок, но почему то нет на вкладке toolbox веб контролов. Они там вообще должны быть? Вылезает еще в начале...

Web Server для AngularJS
Всем привет. Начал изучать Angular пару дней назад. Такой вот вопрос: как использовать Angular на MAMPe? нужна какая то установка или...

Как создать отдельную учетную запись в домене для установки SharePoint Server 2010 на Windows Server R2?
Добрый день. Кто может помочь. Речь вот о чем. Я хочу установить sharepoint server 2010 на свой компьютер локально. Он подсоединен к...

Как создать событие event которое можно изменить для конкретного экземпляра класса?
создал свой класс MyDGV и создал в нем событие BeforeLoad и AfterLoad например Friend Event BeforeLoad(ByVal sender As Object, ByVal e...

Событие Event.COPY Event.PASTE Event.CUT
Привет я не знаю как написать код в котором текстовое поле реагировало бы на события копирования/вставки/вырезки В справочнике написано,...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru