2008-09-08 2 views
4

새로운 사용자 등록을 위해 비동기 사용자 이름 유효성 검사 유효성 검사를 제공하는 ASP.NET 서버 컨트롤을 개발할 계획입니다. 이 컨트롤은 개발자가 "사용자 이름"TextBox를 가리키게하여 사용자 이름을 사용할 수 있는지 여부를 알려줍니다. this example과 비슷하지만, 딱딱한 UpdatePanel은 없습니다. 나 두통주고비동기 ASP.NET 유효성 검사기 컨트롤의 ScriptControl 또는 BaseValidator를 재정의 하시겠습니까?

한 디자인 결정은 의 ScriptControl에서 또는 BaseValidator 상속 여부입니다.

ScriptControl으로 구현하면 클라이언트 측 부분을 다루기 쉽고 resx로 쉽게 현지화 할 수 있습니다.

그러나 Validator가 Page.IsValid와 관련하여 올바르게 작동하는지 확인하고 싶습니다. 이 작업을 수행하는 유일한 방법은 BaseValidator을 무시하고 EvaluateIsValid()을 구현하는 것입니다.

제 질문은이 컨트롤의 구조를 어떻게 제안 하시겠습니까? BaseValidator에서 유효성 검사기 부분을 올바르게 얻는 가장 좋은 (유일한) 방법을 상속합니까? 아니면 다른 방식으로 할 수 있습니까?

답변

4

당신은 할 수 있어야 모두도 BaseValidator에서 파생하는 동안 IScriptControl 인터페이스를 구현하는 경우 :

public class YourControl : IScriptControl, BaseValidator 

는하는 IScriptControl 인터페이스 컨트롤도 GetScriptReferences 및 GetScriptDescriptors 방법이 있어야 의미 구현합니다.

+0

Perfect. 감사. 필자는 그 길을 시작했지만 작동하지 않는 GetScript *의 가상 메서드 대신 재정의를 시도했습니다. 그래서 나는 함께 구현할 수 없다고 생각했다. –