2012-07-03 4 views
0

내가 내 URL이TabID 사용 방법은 무엇입니까?

Response.Redirect("~/Activities/Calendar.aspx?date=" + DateTime.Now.ToString("MM/dd/yyyy")) 

같이 대신 정적 URL의 탭 ID를 사용하여 링크에 액세스 싶어하고 난 다음 코드를

Dim objModuleController As DotNetNuke.Entities.Modules.ModuleController 
Dim objModuleInfo As DotNetNuke.Entities.Modules.ModuleInfo = objModuleController.GetModule(CInt(CType(Settings("DetailsCalendar"), Integer))) 
Dim TabID As Integer = objModuleInfo.TabID 

If CBool(CType(Settings("DetailsCalendar"), String)) Then 
    Response.Redirect(NavigateURL(TabID, "date", DateTime.Now.ToString("MM/dd/yyyy"))) 
End If 

사용하지만 그것은 잘못된 URL 내가 무슨 생각으로 저를 리디렉션 잘못 쓰거나 쓰는 방법, URL에 TabID를 사용하는 방법을 알고 있습니다.

+1

그리고 당신이 가지고있는 무슨 문제? 여기에 질문이 나타나지 않습니다 –

+0

그것이 잘못된 URL로 리디렉션됩니다. 어떻게하면 ResponseID.Redirect의 URL에 액세스하기 위해 Tabid를 사용할 수 있습니까? –

답변

1

컨트롤이 "PortalModuleBase"를 상속 받으면 이미 TabId가 있습니다.

그러나 이동 URL을 사용하여 문제의 근본 원인은 만 추가되도록 당신은 값을 전달할 필요가있는 구조는

NavigateUrl(int TabId, string contolKey, string[] params) 

을하려고하는 과부하에 대해 다음과 유사한 점이다 귀하의 예제부터 PARAMS

당신은

NavigateUrl(TabId, string.Empty, "date", DateTime.Now.ToString("MM/dd/yyyy")) 

여기에서의 핵심 당신이 컨트롤 키를 전달하지 않는 것입니다 함께 잘해야한다.

0

이 있습니다 작동 :) 할 권리 코드

Dim objModuleController As New DotNetNuke.Entities.Modules.ModuleController 
Dim objModuleInfo As DotNetNuke.Entities.Modules.ModuleInfo = objModuleController.GetModule(CInt(CType(Settings("DetailsCalendar"), Integer))) 

If CBool(CType(Settings("DetailsCalendar"), String)) Then 
IF (objModuleInfo.TabID <> 0) Then 
Response.Redirect(NavigateURL(objModuleInfo.TabID, String.Empty ,"date="+ DateTime.Now.ToString("MM/dd/yyyy"))) 
End If 
End If