2010-12-09 2 views
0

다른 여러 사용자 컨트롤이 포함 된 사용자 정의 컨트롤이 있습니다.코드에서 ASP.NET 사용자 정의 컨트롤을 사용하면 '정의되지 않은 어셈블리에 정의 됨'예외가 발생합니다.

바깥 쪽 컨트롤이있는 페이지에서 내부 컨트롤 중 하나의 속성에 프로그래밍 방식으로 액세스해야합니다.

따라서 페이지에는 외부 컨트롤이 포함되어 있으며 페이지는 내부 컨트롤의 속성에 대한 액세스가 필요합니다.

물론 내부 컨트롤의 해당 속성을 반환하는 외부 컨트롤의 속성을 만들 수 있지만 지루할 수 있습니다. 내가하고 싶은 무엇

해당 페이지가 직접 속성에 액세스 할 수 있도록 내부 통제 자체를 반환 외부 컨트롤에 속성을 추가 할 수 있습니다 :

(외부 제어에 대한 코드 숨김에서) :

public UserControls_InnerControl InnerControl { get { return this.ctlInnerControl; } } 

하지만 웹 사이트를 만들 때 :

'UserControls_InnerControl'유형이 참조되지 않은 어셈블리에 정의되어 있습니다. 어셈블리 'App_Web_fc5rstgb, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null'에 대한 참조를 추가해야합니다.

대체 무엇입니까? 나는 프로그래밍 방식으로 사용자 컨트롤 인스턴스를 항상 (예를 들어, 다른 컨트롤에 동적으로 추가) 작업하고 전에 본 적이.

내가 할 수 있는게 있습니까?

편집 : 흥미롭게도 예외를 유발하는 InnerControl을 노출하는 것은 OuterControl의 속성이 아닙니다. 이 속성을 오류로 사용하는 것은 페이지의 코드입니다. 등록의 Src = "UserControls_InnerControl.ascx"태그 이름 = "UC"TagPrefix는 = "UC1"%>
<% @

<% :

답변

1

시도는 그에게 내부 통제에 액세스 페이지에서 다음을 추가합니다 @ Reference Control = "~/InnerControl.ascx"%

응용 프로그램별로 경로를 수정하십시오.

감사합니다.

+1

내 단어. 그건 정말 끔찍하게 명백했습니다. 나를 판단하지 마! 3 개월 된 아들이 있어요! 그리고 그는 감기에 걸렸다! – David

+0

그런데 고맙습니다. – David

관련 문제