2009-12-22 1 views
0

다른 웹 응용 프로그램에서 재사용 가능한 사용자 제어 라이브러리로 사용하려는 ASP.Net 웹 응용 프로그램이 있습니다.재사용 가능한 ASP.NET 사용자 정의 컨트롤 라이브러리 : 가상 경로 공급자 또는 ascx/aspx 복사본?

한이 문제에 대한 해결책은 스콧 거스리는 여기에 설명 된 것을 사용하는 것입니다 다음을 사용하는 웹 응용 프로그램에서 (코드 숨김 자신없이) ASCX/영문 파일을 복사하는 것입니다

http://weblogs.asp.net/scottgu/archive/2005/08/28/423888.aspx

제어 라이브러리.

실제로 다른 해결책을 보았습니다 : ascx/aspx를 User 컨트롤 라이브러리에 포함시킨 다음 사용자 지정 가상 경로 공급자를 사용하여 가져옵니다.

어느 솔루션이 가장 좋음을 알고 있습니까?

배포 시점에서 가상 경로 공급자가 더 나은 것으로 보입니다. 그러나 'ascx/aspx copy'솔루션을 구현하는 것이 더 쉽습니다 (사용자 지정 가상 경로 공급자를 만들 필요가 없음).

답변

1

저는 Scott의 해결책을 정말로 좋아하지 않습니다. 나는 그것이 불규칙하고 필요하지 않은 오버 헤드를 생성한다고 생각합니다. 나는 또한 행동에서 비슷한 것을 보았고 그것은 단지 나를 위해 일하지 않았다.

나도 동일한 요구 사항을 설명하고 가상 경로 공급자 옵션을 사용했습니다. 이렇게하면 웹 응용 프로그램간에 모든 사용자 컨트롤을 쉽고 간편하게 재사용 할 수 있습니다.

가상 경로 제공하지만 문제가 몇 가지 있습니다

당신의 ASCX 파일은 실행 시간을 얻을 것이다 문제의 원인이 그 (자바 스크립트 또는 그 문제에 대한 모든 다른 장소에) 모든 서버 태그가있는 경우
  • 도움이되지 않는 오류.
  • ascx의 마크 업을 변경하거나 결과를보기 위해 파일 자체에있는 자바 스크립트를 변경할 때마다 애플리케이션을 다시 빌드해야합니다. 기존 컨트롤의 디자인을 변경하려는 경우 정말 고통 스러울 수 있습니다. 이 문서에 설명 된대로

나는 솔루션을 사용하고 아주 잘 작동 :

http://www.codeproject.com/KB/user-controls/EmbeddedUserControl.aspx

나는 희망이 도움이 ...

1

나는이 같은 상황 몇 가지를 다 퉜다 몇 주 전에 Scott의 솔루션 작업을 할 수 없었습니다. 대신 사용자 지정 서버 컨트롤을 사용하여 해당 클래스 라이브러리에 배치했습니다.

1

저는 사용자 컨트롤을 그렇게 사용하는 것이 좋다고 생각하지 않습니다. 별도의 라이브러리에 필요하면 서버 컨트롤로 변환해야합니다.

관련 문제