작성자: Dflying Chen ( http://dflying.cnblogs.com/ )
PS: 여러분의 사랑 덕분에 저는 블로그파크에 정착하고 많은 친구를 사귀고 많은 기회를 얻은 두 달 동안 많은 것을 배웠습니다. 현재 저는 People's Posts and Telecommunications Publishing House에서 3개월 안에 출판될 예정인 Atlas 책인 Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0을 번역하는 영광을 누렸습니다. 따라서 이 기간 동안 매우 바빠서 예전처럼 블로그를 자주 업데이트할 수 없게 되어 사과드립니다. 물론, 친구들이 Atlas와 관련된 질문에 대해 계속해서 토론하는 것을 환영하며, 저는 최선을 다해 답변해 드리겠습니다.
앞으로 두 달 동안 Foundations of Atlas 번역의 우수성을 위해 노력할 것이므로 용어, 번역 스타일 등과 같이 친구들과 논의해야 할 문제가 분명히 많을 것입니다. 여기에 미리 감사드립니다!
이전 기사(ASP.NET Atlas 서버측 Extender 컨트롤 개발 - 클라이언트측 동작 작성 참조)에서 우리는 이미 클라이언트측 동작을 작성했습니다. 이 문서에서는 이를 마무리하고 서버측 컨트롤로 실행해 보겠습니다.
먼저 ValidateUserNameProperties.cs 파일을 살펴보겠습니다. 이 클래스는 클라이언트 속성 값과 서버 속성 값 간의 매핑 관계를 정의하는 TargetControlPropertiesBase<Control> 기본 클래스에서 상속됩니다. 동시에 TargetControlPropertiesBase<Control> 기본 클래스와 Atlas Control Extender는 클라이언트 측 XML 스크립트 생성 작업을 이미 완료했습니다. 동작에 필요한 속성만 정의하면 됩니다.
CheckResultLabelID, ServiceName, MethodName, ValidMessage 및 InvalidMessage의 5개 특성을 추가해야 합니다. 단순화를 위해
[DefaultValue("")]
속성의 예만 제공합니다.
[IDReferenceProperty(typeof(WebControl))]
[필수속성()]
공개 문자열 CheckResultLabelID
{
얻다
{
return GetPropertyStringValue("CheckResultLabelID");
}
세트
{
SetPropertyStringValue("CheckResultLabelID", value);
}
}
CheckResultLabelID의 정의 앞에는 세 가지 속성이 옵니다.
DefaultValue: 이 속성의 기본값을 설정합니다.
IDReferenceProperty: 이 속성이 특정 컨트롤 유형의 ID만 저장할 수 있음을 지정합니다.
필수속성: 이 속성이 필수임을 지정합니다.
다른 여러 속성에 대해서는 나중에 제공되는 소스 파일을 참조할 수 있습니다.
그런 다음 ValidateUserNameExtender.cs 파일을 살펴보십시오. 주요 부분은 다음과 같습니다.
[Designer(typeof(ValidateUserNameDesigner))]
[ClientScriptResource("Dflying", "ValidateUserNameBehavior", "Dflying.Atlas.ControlTookit.ValidateUserName.ValidateUserNameBehavior.js")]
[필수스크립트(typeof(ValidateUserNameExtender))]
공용 클래스 ValidateUserNameExtender : ExtenderControlBase<ValidateUserNameProperties, Control>
{
}
그중에서 ValidateUserNameExtender는 ExtenderControlBase<ValidateUserNameProperties, Control> 기본 클래스에서 상속하고 몇 가지 일반적인 작업을 가져옵니다. 그리고 클래스에는 세 가지 속성이 적용됩니다.
디자이너: 이 Extender 디자이너의 클래스 이름을 지정합니다(디자인 타임 지원을 제공하는 데 사용됨).
ClientScriptResource: 클라이언트 Atlas XML 스크립트를 생성하는 데 필요한 정보를 지정합니다. 여기의 Dflying 및 ValidateUserNameBehavior는 이전 ValidateUserNameBehavior.js에 정의된 것과 일치해야 합니다.
필수 스크립트: Atlas가 ValidateUserNameBehavior.js를 axd 파일 형식으로 페이지에 연결할 수 있도록 클라이언트에 필요한 스크립트를 지정합니다.
마지막으로 디자인 타임 지원을 추가할 수 있는 ValidateUserNameDesigner.cs 파일이 있습니다. Visual Studio에서 설정된 다양한 속성 값을 사용하여 컨트롤에 다양한 표시 스타일을 적용할 수 있습니다. 여기에서는 단순화하기 위해 디자인 타임 지원을 추가하지 않겠습니다.
이 시점에서 Extender가 작성되었으며 릴리스 빌드 후에 생성된 DLL을 직접 사용할 수 있습니다. 다음 기사에서는 실제 프로그램에서 이 Extender를 사용하는 방법을 보여 드리겠습니다.