2010-03-31 3 views
2

ResolveUrl()을 사용하여 사용자 지정 ASP.NET 사용자 정의 컨트롤의 코드 뒤에 일부 경로를 설정하려고합니다. 사용자 정의 컨트롤에는 탐색 메뉴가 있습니다. 마스터 페이지를로드하는 페이지에로드하고 있습니다.ResolveURL이 사용자 정의 컨트롤에서 해결되지 않습니다.

내 사용자 정의 컨트롤에서 ResolveUrl ("~")을 호출하면 사이트 루트 대신 "~"가 반환됩니다. 내가 페이지에서 그것을 부를 때 나는 예상대로 루트 경로를 얻는다. 나는 디버거를 단계별로 실행했고 ResolveUrl ("~")은 사용자 컨트롤 코드에서 "~"를 반환합니다.

사이트의 루트 경로를 얻기 위해 사용자 컨트롤 코드에서 함수를 호출해야하는 다른 방법이 있습니까?

+1

코드 사용 방법을 게시 할 수 있습니까? – wonde

답변

3

시도 할 수 있다면 나는 가정 -

내가했다 컨트롤의 페이지로드가 시작되기 전에 ResolveUrl을 사용하려고했습니다. 따라서 아직 함수에 대한 컨텍스트 페이지가 없습니다.

코드를 페이지로드 기능으로 옮겼습니다. 이제 예상대로 해결됩니다.

올바른 방향으로 조금 움직여 주셔서 감사합니다.

0

이 페이지에서 작동하지만 내가 생각 제어 당신이 wonde의 코멘트 위의 대답에 저를 이끌어

this.Page.ResolveUrl("~"); 
+0

이것은 아마도 문제의 일부일 것입니다. 런타임에 컨트롤 페이지 속성이 비어 있습니다. –

+0

코드 숨김으로이 컨트롤을로드 중입니까? – BritishDeveloper

관련 문제