Domanda

Ho intenzione di sviluppare un controllo server ASP.NET per fornire la convalida asincrona della disponibilità del nome utente per le registrazioni di nuovi utenti.Il controllo consentirà allo sviluppatore di indirizzarlo a una casella di testo "nome utente" e fornirà un'indicazione se il nome utente è disponibile o meno.Come questo esempio, ma senza il goffo UpdatePanel.

Una decisione progettuale che mi dà grattacapi è se ereditare da ScriptControl O BaseValidator.

Implementandolo come a ScriptControl, posso rendere la parte lato client più semplice da gestire e localizzarla facilmente con un file resx.

Tuttavia, voglio assicurarmi che il validatore funzioni correttamente rispetto a Page.IsValid.L'unico modo che conosco per farlo è eseguire l'override BaseValidator e implementare EvaluateIsValid().

Quindi la mia domanda è: come suggeriresti di strutturare questo controllo?Ereditare da BaseValidator è il migliore (unico) modo per ottenere correttamente la parte del validatore o posso farlo in qualche altro modo?

È stato utile?

Soluzione

Dovresti essere in grado di fare entrambe le cose se implementi il ​​file IScriptControl interfaccia pur derivando anche da BaseValidator:

public class YourControl : IScriptControl, BaseValidator

Per implementare l'interfaccia IScriptControl significa che il tuo controllo dovrà avere anche i metodi GetScriptReferences e GetScriptDescriptors.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top