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

StackOverflow https://stackoverflow.com/questions/58827

Вопрос

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

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

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

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

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

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

Изменить - уточнить

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

Решение 2

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

Например: РегистрКлиентСкриптБлок.

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

Другие советы

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

Вам нравится делать что-то по-сложному?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top