Como: Usuário AutoCompleteextender em um UserControl (ASCX) e coloque o serviço de serviço em seu código-behind
-
12-09-2019 - |
Pergunta
Criei um AutoCompleteextender em uma caixa de texto que reside em um UserControl (arquivo control.ascx).
Não quero criar uma classe separada para o método da Web, prefiro colocá -lo no próprio arquivo de código (control.ascx.cs).
Há algum jeito?
Eu tentei com sucesso uma vez atrás, colocando o método no mesmo página Mas era uma página e, se o ServicePath Property não estiver definido, ela é automaticamente encaminhada para a página, por isso funcionou, agora, pois é um controle do usuário, não é mesmo quando especifique explicitamente o caminho.
Solução
Na verdade, você pode manter o método da Web em .aspx, enquanto outro código relacionado ao Extender AutoComplet pode residir no .ascx. Funciona bem.
Outras dicas
O AutoCompleteextender não funciona dentro de um UserControl neste momento. Citando Dino Esposito na revista MSDN fevereiro de 2007: -
Um método de página chamável é um método público estático (ou compartilhado no visual básico.net) definido na classe CodeBehind e decorado com o mesmo atributo webMethod usado para métodos de serviço da Web. Atualmente, Isso é limitado às páginas ASPX--BOTH ENline e CodeBehind Code-Mas pode ser estendido no futuro aos controles do usuário e controles personalizados.
Minha experiência recente mostra que isso ainda é verdadeiro.
Receio que você fique implementando o método como um serviço da web ou movendo a funcionalidade de volta para a página.