2010-12-10 4 views
0

나중에 다른 프로젝트에서 해당 구성 요소를 사용할 수 있도록 구성 요소 수집 프로젝트를 빌드하고 싶습니다. 사용자 컨트롤의 구성 요소를 포함하고 많은의 ->IPGostarProject - - IPGostar의 네임 스페이스 아래에서프로그래밍 방식으로 다른 프로젝트에서 UserControl로드

이 같은 예를 들어 내가 그래서 프로젝트 레이아웃을 가정

MyDataGrid.ascx

라는 UserControl을 만들어집니다

->SampleProject - 여기에서 IPGostar 네임 스페이스의 MyDataGrid.ascx UserControl을 사용하고 싶습니다.

그러나 아시겠지만 LoadControl 기능은 가상 디렉터리 만 매개 변수로 사용합니다. 따라서 SampleProject 디렉토리 밖에서는 아무것도로드 할 수 없습니다!

어떻게하면됩니까?

답변

0

SampleProject 프로젝트의 빌드 후 이벤트 (또는 사용중인 빌드 스크립트)가 실제 사용자 컨트롤을 런타임에 액세스 할 수 있도록 SampleProject의 하위 폴더로 복사하는 한 가지 방법이 있습니다.

0

부분 클래스를 다루는 한 파일 시스템의 속임수가 아닌 부분을 처리하는 훌륭한 방법은 없습니다. 더 좋은 방법은 공유 된 UserControl을 WebControls로 구현하는 것입니다. 광범위한 마크 업을 가지고 있다면 어쨌든 공유 된 컨트롤이 될 수는 없습니다. 예를 들어. 스타일 시트를 공유 하시겠습니까?

컨트롤의 핵심 기능에 포함되지 않은 대부분의 태그를 구분하고 코어를 WebControl로 구현하여 코드에서 태그 및 컨트롤을 생성합니다. 레이아웃을 구현하는 실제 프로젝트는 레이아웃, 서식 지정 등을 담당해야합니다. 이벤트를 사용하여 클라이언트에 후크를 제공합니다 (예 : 데이터 그리드, CreateRow, CreateCell 등의 이벤트)

관련 문제