2012-07-03 68 views
0

我想使用的,而不是靜態URL標籤ID作爲我的網址如何使用TabID?

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

訪問一個鏈接,我使用下面的代碼

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 我是什麼做錯了或如何寫它,我adon知道如何使用帶有URL的TabID

+1

而且您有什麼問題?這裏似乎沒有問題 –

+0

它將我重定向到錯誤的URL,我如何使用Tabid訪問Responce.Redirect中的url? –

回答

1

如果您的控件繼承「PortalModuleBase」它已經有它的TabId。

但與導航網址你的問題的根本原因是,它具有結構類似於過載下你想

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 
相關問題