Форум программистов, компьютерный форум, киберфорум
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. Показов 3983. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru