Substituir ScriptControl ou BaseValidator por um controle validador ASP.NET assíncrono?

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

Pergunta

Estou planejando desenvolver um controle de servidor ASP.NET para fornecer validação assíncrona de disponibilidade de nome de usuário para novos registros de usuários.O controle permitirá que um desenvolvedor aponte para um TextBox de "nome de usuário" e fornecerá uma indicação se o nome de usuário está disponível ou não.Como este exemplo, mas sem o desajeitado UpdatePanel.

Uma decisão de design que está me dando dores de cabeça é herdar de ScriptControl ou BaseValidator.

Ao implementá-lo como um ScriptControl, posso tornar a parte do cliente mais fácil de lidar e localizá-la facilmente com um resx.

No entanto, quero ter certeza de que o validador funciona corretamente em relação a Page.IsValid.A única maneira que conheço de fazer isso é substituir BaseValidator e implementar EvaluateIsValid().

Então, minha pergunta é: como você sugeriria estruturar esse controle?Herdar do BaseValidator é a melhor (única) maneira de acertar a parte do validador ou posso fazer isso de alguma outra maneira?

Foi útil?

Solução

Você deve ser capaz de fazer as duas coisas se implementar o IScriptControl interface ao mesmo tempo que deriva do BaseValidator:

public class YourControl : IScriptControl, BaseValidator

Para implementar a interface IScriptControl significa que seu controle também precisará ter os métodos GetScriptReferences e GetScriptDescriptors.

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