9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53

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

07.12.2012, 17:51. Показов 3995. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru