2009-03-12 3 views
11

Windows Forms에서는 한 사용자 컨트롤을 다른 사용자 컨트롤에서 상속하기 쉽습니다. 상속 된 컨트롤에는 부모 폼의 모든 컨트롤이 포함되어 있으므로 더 추가 할 수 있습니다. ASP.NET에서도 동일한 작업을 수행 할 수 있습니까? 저는 .ASCX 유형의 사용자 컨트롤에 대해 말하고 있습니다.(있는 경우) ASP.NET UserControl을 다른 UserControl에서 상속하는 방법은 무엇입니까?

답변

14

짧은 대답은 아니오 쉽게 완료 될 수 없습니다. 사용자 컨트롤이나 웹 폼 간에는 상속이 없습니다. 코드 배후 클래스간에 상속 계층을 만들 수 있지만 GUI 구성 요소는 상속되지 않습니다.

4

윈도우 폼 예제와 웹 폼 예제의 차이점은 컨트롤에 태그가 지정된 부분이 있다는 것입니다. 나는 언젠가 웹 어플리케이션이 모든 것을 컴파일하기 때문에 (적어도 어떤 경우에는) 이것이 극복 될 수 있다고 상상한다. 그러나 오늘날에는 그렇지 않다.

그러나 사용자 정의 컨트롤을 다른 사용자 정의 컨트롤 인 광고 nauseum에서 사용할 수 있습니다. 상속을 제공하지는 않지만 원본 컨트롤과 추가해야 할 내용을 합성하여 추가 컨트롤을 사용하여 특정 컨트롤을 장식 할 수 있습니다. 그게 당신 문제를 해결할 수 있을까요?

+0

수 있습니다. 더 많은 elegan 방법이 있는지 궁금 해서요. :) –

+0

이해합니다. 불행히도, 나는 태그와 코드의 분리로 인해 오늘은 존재하지 않는다고 생각합니다. –

+0

"하지만 사용자 컨트롤을 다른 사용자 컨트롤 (광고 nauseum)에서 때 리다"수 있습니다. 예 예 예. 완전히 UserControls 중첩 생각하지 않았다. –

3

코드에서 기본 사용자 정의 컨트롤을 상속하고 추가 컨트롤을 코드에 삽입 할 수 있습니다. 비주얼 디자이너에서 제작을 말하면 확실하지 않습니다. System.web 컨트롤과 사용자 컨트롤에서 복합 컨트롤을 만드는 방법을 알고 있으므로 새 컨트롤에 추가 컨트롤이 추가 된 다른 사용자 컨트롤을 포함 할 수 없습니다.

관련 문제