Добавление обработчика в компонент WebControls.WebControl
От: IceStudent Украина  
Дата: 04.10.04 11:41
Оценка:
Здравствуйте.

Пытаюсь реализовать свой компонент, наследуемый от System.Web.UI.WebControls.WebControl.

Всё хорошо, только не могу добавить в него свои обработчики событий: OnClick для начала хотелось бы.

Делаю всё как в примере из MSDN (Server Control Samples),
но событие не приходит, когда кликаю по контролу.

Может дело в том, что в примерах используется System.Web.UI.Сontrol?

Подскажите, в какую сторону копать…
... << RSDN@Home 1.1.3 stable >>
Добавление обработчика в компонент WebControls.WebControl
От: Аноним  
Дата: 04.10.04 12:56
Оценка:
А ты точно привязку обработчика к событию делаешь?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Добавление обработчика в компонент WebControls.WebContro
От: IceStudent Украина  
Дата: 04.10.04 19:17
Оценка:
Здравствуйте, Nisus, Вы писали:

N>А ты точно привязку обработчика к событию делаешь?


Вот код компонента, относящийся к проблеме.
В дизайнере объектов появляется событие новое, на него можно назначить обработчик, но ни он, ни который в коде компонента не вызывается.

public class MyControl: System.Web.UI.WebControls.WebControl, IPostBackEventHandler 
{
  private string dbgText = "";
    
  // Defines the Click event.
  public event EventHandler Click;
  
  // Invokes delegates registered with the Click event.
  protected virtual void OnClick(EventArgs e) 
  {     
     if (Click != null) 
     {
        Click(this, e);
     }  
  }
  
  // Method of IPostBackEventHandler that raises change events.
  public void RaisePostBackEvent(string eventArgument)
  {
    dbgText += "RaisePostBackEvent was called\n";
    OnClick(EventArgs.Empty);
  }

  protected override void Render(HtmlTextWriter output) 
  {
    // control render code
    ...
    // debug
    output.Write("\n<p>" + dbgText + "<p>"); 
  }
}
... << RSDN@Home 1.1.3 stable >>
Re: Добавление обработчика в компонент WebControls.WebContro
От: Аноним  
Дата: 05.10.04 07:13
Оценка:
Можете посмотреть эту статью. Все дело в том, что событие на клиенте, в данном случае Click должно преобразоваться в серверное событие.
Все должно быть просто, очень просто, настолько просто — насколько это возможно.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Добавление обработчика в компонент WebControls.WebContro
От: IceStudent Украина  
Дата: 05.10.04 07:17
Оценка:
Сделал простой новый компонент, также на основе WebControl — всё работает как надо.
На моём — не хочет, хотя код по событиям один-в-один.

Разница заключается в том, что в первом нерабочем компоненте я рисую сложную таблицу в методе Render(…).

Но разве таблица повлияет на отлов и обработку событий?


@@wanp
... << RSDN@Home 1.1.3 stable >>
Re[2]: Добавление обработчика в компонент WebControls.WebCon
От: IceStudent Украина  
Дата: 05.10.04 09:17
Оценка:
Здравствуйте, Евгений Веприков.

ЕВ>Можете посмотреть эту статью.

Прочитал. Значит, элемент управления должен как-то генерировать PostBack: либо через клиентский скриптовый блок, либо… ? А кроме скрипта можно как-то ещё сгенерировать PostBack?

ЕВ>Все дело в том, что событие на клиенте, в данном случае Click должно преобразоваться в серверное событие.

А как именно? Той статьи маловато, а во всех книгах, что я читал об ASP.NET создание серверных элементов управление рассматривается неполно…
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.