Пользовательские элементы управления ASP.NET и «динамическая» модель событий - PullRequest
2 голосов
/ 12 сентября 2008

ОК, я не уверен, что заголовок полностью точен, открыт для предложений!

Я нахожусь в процессе создания настраиваемого элемента управления ASP.NET, для меня это все еще относительно новое, поэтому, пожалуйста, потерпите меня.

Я думаю о модели события. Поскольку мы не используем веб-элементы управления, события не запускаются с кнопок, скорее я вручную вызываю __ doPostBack с соответствующими аргументами. Однако это, очевидно, может означать, что существует много обратных передач, когда, скажем, выбираются параметры (которые отображаются по-разному при выборе).

Со временем мне нужно будет сделать это более Ajax-y и адаптивным, поэтому мне нужно будет изменить привязку события для вызова локального Javascript.

Итак, я подумал, что должен иметь возможность переключать «режим» элемента управления, он может либо использовать обратную передачу и сам обработчик, либо вы можете указать имена функций Javascript для вызова вместо doPostBack.

  • Что вы думаете об этом?
  • Неправильно ли я подхожу к поднятию событий из контроля? (полностью открыт для предложений здесь!)
  • Как бы вы подошли к подобной проблеме?

Редактировать - Уточнить

  • Я создаю пользовательский визуализированный элемент управления (то есть наследует от WebControl).
  • Мы не используем существующие веб-элементы управления, поскольку хотим получить полный контроль над отображаемым выводом.
  • AFAIK единственный способ получить событие на стороне сервера, которое происходит из настраиваемого элемента управления, - это вызвать doPostBack из отображаемых элементов (пожалуйста, исправьте, если не так!).
  • ASP.NET MVC не поддерживается.

Ответы [ 2 ]

1 голос
/ 22 сентября 2008

Я продолжал копаться в этом и наткнулся на то, как внедрить Javascript в клиент при необходимости. Это, очевидно, сыграет огромную роль в том, чтобы сделать элементы управления более отзывчивыми и уменьшить количество обращений к серверу.

Например: RegisterClientScriptBlock .

С нетерпением ждем возможности поиграть с этим больше, не стесняйтесь привлекать людей!

1 голос
/ 12 сентября 2008

Очень странно. Вы используете серверные и пользовательские элементы управления ASP.NET, но не используете веб-элементы управления? И вы вызываете __doPostBack вручную?

Тебе нравится делать трудные вещи?

Если бы я все еще использовал модель управления сервером, а не MVC, я бы ударил элементы управления ASP.NET Ajax этой присоске и назвал бы ее день. То, что вы делаете, это как надевание на модель Т. Это может быть весело и интересно, но после того, как вы закончите со всей тяжелой работой, что у вас действительно будет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...