ASP.NET Controles Personalizados e "Dinâmico" Modelo de Evento
-
09-06-2019 - |
Pergunta
OK, eu não tenho certeza se o título é totalmente preciso, aberto a sugestões!
Eu estou no processo de criação de uma ASP.NET controle personalizado, isso é algo que ainda é relativamente novo para mim, então por favor tenham paciência comigo.
Eu estou pensando sobre o modelo de evento.Já que não estamos usando Controles da Web não existem eventos que são disparados a partir de botões, ao invés de eu sou chamar manualmente __doPostBack com os argumentos apropriados.No entanto, isso pode, obviamente, significa que há um grande número de postbacks ocorrendo quando dizem, a seleção de opções (que são processadas de forma diferente quando selecionadas).
Em tempo, eu preciso fazer isso mais o Ajax, y e ágil, de modo que será preciso alterar a ligação do evento para chamar o local de Javascript.
Então, eu estava pensando que eu deveria ser capaz de alternar o "modo" do controle, ele pode usar postback e handlle, ou você pode especificar a função Javascript nomes de chamada, em vez de o doPostBack.
- Quais são seus pensamentos sobre isso?
- Estou aproximando-se o aumento dos eventos de controle no caminho errado?(totalmente aberto a sugestões aqui!)
- Como você se aproximar de um problema semelhante?
Edit - Para Esclarecer
- Estou criando um personalizado prestado de controle (por exemplo,herda WebControl).
- Não estamos usando existnig Controles da Web desde que nós queremos o controle completo sobre a saída renderizada.
- AFAIK a única maneira de obter um do lado do servidor de eventos para ocorrer a partir de um personalizados prestados de controle é chamada de doPostBack do processado elementos (por favor, corrija se errado!).
- ASP.NET MVC não é uma opção.
Solução 2
Eu tenho feito algumas mais escavação sobre isso, e veio através de como injetar o Javascript para o cliente quando necessário.Esta será certamente a desempenhar um papel enorme em fazer os controles mais ágil e menos viagens de ida e volta para o servidor.
Por exemplo: RegisterClientScriptBlock.
Ansioso para jogar com isso mais, sinta-se livre para obter invovled pessoas!
Outras dicas
Muito estranho.Você está usando ASP.NET controles de servidor e controles personalizados, mas você não está usando controles da web?E você está chamando __doPostBack manualmente?
Você gosta de fazer as coisas da maneira mais difícil?
Se eu ainda estava usando o servidor de controle do modelo, em vez de MVC, eu gostaria de dar um tapa ASP.NET Ajax controla esse otário e chamá-lo um dia.O que você está fazendo é como colocar um ventilador em um modelo T.Pode ser divertido e interessante, mas depois que você é feito com todo o trabalho duro, que você realmente tem?