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.
Foi útil?

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top