2010-04-12 5 views
1

또 다른 총 newb 질문 내에서 ASP 컨트롤을 참조하는, 난 두려워 : 나는 그것을 내부의 하이퍼 링크LoginView을 가지고 있지만, 나는 그것이라고 나에게 이야기 뒤에 코드에서 하이퍼 링크를 참조 할 때 "현재 상황"에는 존재하지 않습니다.가 LoginView

예 : hypLink1.NavigateUrl = "some/link/on/my/site.aspx"

나는 그것이 LoginView에 있기 때문에 그것은 그것을 찾을 수 없습니다 만 있다고 알아 냈어요 ... 그래서 나는 LoginView 내부보고 그에게 무엇을 할 수 있는지?

LoginView1.hypLink1.NavigateUrl = "some/link/on/my/site.aspx"

그러나 아무 소용이 :

나는이 같은 직관적 인 뭔가 될 줄 알았는데.

이 문제에 대한 도움을 주셔서 감사합니다.

답변

4

loginview 컨트롤 외부에서 하이퍼 링크를 참조하려고합니다.

HyperLink hypLink1 = (HyperLink)LoginView1.FindControls("hypLink1"); 

UPDATE 좋아

, 그래서 당신이 요구 한 것과 같은 혼란스러워했다 :

은 그 시점에서, 당신은 LoginView에 FindControls 작업을 시도 할 수 있습니다. LoginView 컨트롤은 FindControls 만 허용하므로 위의 코드 조각을 사용하여 내부 컨트롤을 참조해야합니다.

LoginView 컨트롤은 템플릿을 사용하므로 다른 상황에서 다른 컨트롤이 존재하게됩니다. 따라서 코드는 컴파일 타임에 템플릿 내의 지정된 컨트롤이 활성화되도록 보장 할 수 없습니다.

그래서 당신이 FindControls에 당신이 자식 컨트롤을 취득 할 때마다이있을 것이다 :. '당신의 답변 (

+0

한 덕분에 내가 컨트롤 내부에서 하이퍼 링크를 참조 할 것 어떻게 알 수 있습니까? –