2009-11-20 2 views
1

ascx 컨트롤을 등록하려면 페이지 상단에 등록을 사용하고 있습니다. 이제이 컨트롤을 페이지에서 두 번 사용하고 싶습니다.레지스터 (ASP.NET)를 사용하는 동안 동일한 ascx 컨트롤을 두 번 사용

이제는 컨트롤의 한 인스턴스에 대한 단추를 눌렀을 때 두 컨트롤의 유효성 검사가 실행되고 하나의 컨트롤 만 유효성 검사가 수행되어야하므로 분명히 문제가 발생합니다. 그 이유는 페이지에 컨트롤의 인스턴스를 하나만 유지하면 멋지게 흐르기 때문입니다.

이미 시도한 내용 NOT 작업 : 1) 두 인스턴스를 다른 ASP 패널에 넣기. 2) 페이지 상단에 컨트롤을 두 번 등록하므로 각 등록에는 페이지에 인스턴스가 하나만 있습니다.

컨트롤 자체의 유효성 검사를 수정하고 싶지 않지만 거대한 프로젝트이며 다른 곳에서 사용되고 있으며 다른 것들을 혼란스럽게하고 싶지 않습니다. 참고 "Page.IsValid"을 사용하여 유효성을 검사합니다.

답변

1

유효성 검사기의 ValidationGroup 속성과 단추의 ValidationGroup 속성을 사용자 정의 컨트롤의 Page_Load 메서드에서 동적으로 설정하십시오. 사용자 정의 컨트롤의 ID 속성을 ValidationGroup의 일부로 사용하여 두 컨트롤을 구분할 수 있습니다. 예컨대

,

myRequiredValidator.ValidationGroup = "valGroup_" + this.ID; 
myButton.ValidationGroup = "valGroup_" + this.ID; 
관련 문제