Пользовательские элементы управления ASP.NET и «динамическая» модель событий
-
09-06-2019 - |
Вопрос
Хорошо, я не уверен, что название полностью соответствует действительности, открыт для предложений!
Я нахожусь в процессе создания пользовательского элемента управления ASP.NET, это все еще относительно ново для меня, поэтому, пожалуйста, потерпите.
Я думаю о модели событий.Поскольку мы не используем веб-элементы управления, с кнопок не запускаются события, вместо этого я вызываю вручную __doPostBack с соответствующими аргументами.Однако это, очевидно, может означать, что происходит много обратных передач, скажем, при выборе опций (которые при выборе отображаются по-разному).
Со временем мне нужно будет сделать это более Ajax-y и более отзывчивым, поэтому мне нужно будет изменить привязку событий для вызова локального Javascript.
Итак, я подумал, что у меня должна быть возможность переключать «режим» элемента управления: он может либо использовать обратную передачу и обрабатывать себя, либо вы можете указать имена функций Javascript для вызова вместо doPostBack.
- Что вы думаете об этом?
- Я неправильно подхожу к поднятию событий из-под контроля?(полностью открыт для предложений здесь!)
- Как бы вы подошли к подобной проблеме?
Изменить - уточнить
- Я создаю пользовательский визуализируемый элемент управления (т.наследует от WebControl).
- Мы не используем существующие веб-элементы управления, поскольку нам нужен полный контроль над отображаемым выводом.
- AFAIK, единственный способ вызвать событие на стороне сервера из пользовательского отображаемого элемента управления - это вызвать doPostBack из визуализированных элементов (пожалуйста, исправьте, если это неправильно!).
- ASP.NET MVC не является вариантом.
Решение 2
Я еще немного покопался в этом вопросе и наткнулся на то, как при необходимости внедрить Javascript в клиент.Это, очевидно, сыграет огромную роль в том, чтобы сделать элементы управления более отзывчивыми и сократить количество обращений к серверу.
Например: РегистрКлиентСкриптБлок.
С нетерпением ждем продолжения этой игры, не стесняйтесь привлекать людей!
Другие советы
Очень странно.Вы используете серверные и пользовательские элементы управления ASP.NET, но не используете веб-элементы управления?И вы вызываете __doPostBack вручную?
Вам нравится делать что-то по-сложному?
Если бы я все еще использовал модель управления сервером, а не MVC, я бы наложил на этого придурка элементы управления ASP.NET Ajax и положил бы этому конец.То, что вы делаете, похоже на установку вентилятора на модель Т.Это может быть весело и интересно, но что у вас останется на самом деле после того, как вы закончите всю тяжелую работу?