비동기 ASP.NET 유효성 검사기 컨트롤에 대해 ScriptControl 또는 BaseValidator를 재정의하시겠습니까?

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

문제

새로운 사용자 등록에 대한 비동기 사용자 이름 가용성 확인을 제공하기 위해 ASP.NET 서버 컨트롤을 개발할 계획입니다.이 컨트롤을 사용하면 개발자가 "사용자 이름" TextBox를 가리킬 수 있으며 사용자 이름을 사용할 수 있는지 여부를 표시할 수 있습니다.좋다 이 예, 하지만 투박한 UpdatePanel은 없습니다.

나에게 골치 아픈 디자인 결정 중 하나는 다음을 상속할지 여부입니다. 스크립트컨트롤 또는 BaseValidator.

으로 구현함으로써 스크립트컨트롤, 클라이언트 측 부분을 더 쉽게 처리하고 resx를 사용하여 쉽게 현지화할 수 있습니다.

그러나 Page.IsValid와 관련하여 유효성 검사기가 올바르게 작동하는지 확인하고 싶습니다.내가 아는 유일한 방법은 재정의하는 것입니다. BaseValidator 그리고 구현 EvaluateIsValid().

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

도움이 되었습니까?

해결책

다음을 구현하면 두 가지를 모두 수행할 수 있어야 합니다. IScript컨트롤 BaseValidator에서 파생되는 동시에 인터페이스:

public class YourControl : IScriptControl, BaseValidator

IScriptControl 인터페이스를 구현하려면 컨트롤에 GetScriptReferences 및 GetScriptDescriptors 메서드도 있어야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top