So moving along i seem to have moved on I have now found this method
Public Shared Function NavigateURL(ByVal ControlKey As String) As String
If (ControlKey = "Access Denied") Then
Return Globals.AccessDeniedURL
End If
Return Globals.NavigateURL(PortalController.GetCurrentPortalSettings.ActiveTab.TabID, ControlKey)
End Function
So what i can see and if im reading this correct, Globals.NavigateURL(PortalController.GetCurrentPortalSettings.ActiveTabID, ControlKey)
i assume that the control key is "Tab" , and the first part is the TabID of the current Tab ,
So i then go to the other method that is called,
Public Shared Function NavigateURL(ByVal TabID As Integer, ByVal ControlKey As String) As String
Dim currentPortalSettings As PortalSettings = PortalController.GetCurrentPortalSettings
Return Globals.NavigateURL(TabID, currentPortalSettings, ControlKey, Nothing)
End Function
The above function takes the TabID and the ControlKey, it declares a local variable "currentPortalSettings" it then calls another NavigateURL() method passing the TabID, currentPortalSettings, ControlKey and nothing
Moving along to the next method,
Public Shared Function NavigateURL(ByVal TabID As Integer, ByVal settings As PortalSettings, ByVal ControlKey As String, ByVal ParamArray AdditionalParameters As String()) As String
Dim isSuperTab As Boolean = False
If ((Not settings Is Nothing) AndAlso settings.ActiveTab.IsSuperTab) Then
isSuperTab = True
End If
Return Globals.NavigateURL(TabID, isSuperTab, settings, ControlKey, AdditionalParameters)
End Function
this has an if statement to check if its a superTab, (not to sure what a SuperTab is) not to clear on this statement "If ((Not settings Is Nothing) AndAlso settings.ActiveTab.IsSuperTab) Then"
So what i see is it seems to be building up the parameters by going through the same shared method.
Public Shared Function NavigateURL(ByVal TabID As Integer, ByVal IsSuperTab As Boolean, ByVal settings As PortalSettings, ByVal ControlKey As String, ByVal ParamArray AdditionalParameters As String()) As String
Return Globals.NavigateURL(TabID, IsSuperTab, settings, ControlKey, Thread.CurrentThread.CurrentCulture.Name, AdditionalParameters)
End Function
It then gets to this method
Public Shared Function NavigateURL(ByVal TabID As Integer, ByVal IsSuperTab As Boolean, ByVal settings As PortalSettings, ByVal ControlKey As String, ByVal Language As String, ByVal ParamArray AdditionalParameters As String()) As String
Dim str2 As String
Dim enumerator As IEnumerator
If (TabID = Null.NullInteger) Then
str2 = Globals.ApplicationURL
Else
str2 = Globals.ApplicationURL(TabID)
End If
If (ControlKey <> "") Then
str2 = (str2 & "&ctl=" & ControlKey)
End If
If (Not AdditionalParameters Is Nothing) Then
Dim str3 As String
For Each str3 In AdditionalParameters
If Not String.IsNullOrEmpty(str3) Then
str2 = (str2 & "&" & str3)
End If
Next
End If
If IsSuperTab Then
str2 = (str2 & "&portalid=" & settings.PortalId.ToString)
End If
If ((Localization.GetEnabledLocales.Count > 1) AndAlso Localization.UseLanguageInUrl) Then
If (Language = "") Then
str2 = (str2 & "&language=" & Thread.CurrentThread.CurrentCulture.Name)
Else
str2 = (str2 & "&language=" & Language)
End If
End If
If (HostSettings.GetHostSetting("UseFriendlyUrls") <> "Y") Then
Return Globals.ResolveUrl(str2)
End If
Try
enumerator = settings.DesktopTabs.GetEnumerator
Do While enumerator.MoveNext
Dim current As TabInfo = DirectCast(enumerator.Current, TabInfo)
If (current.TabID = TabID) Then
Return Globals.FriendlyUrl(current, str2, settings)
End If
Loop
Finally
If TypeOf enumerator Is IDisposable Then
TryCast(enumerator,IDisposable).Dispose
End If
End Try
Return Globals.FriendlyUrl(Nothing, str2, settings)
End Function
This method is a bit much to take i am trying to follow it through "str2" is used in one of the methods I am assuming its " Globals.ResolveUrl(str2)"
Round about here is where im getting lost and confused, im trying to get the user control up which allows me to enter in new Page information and click update to create a new page(Tab)
please someone must know how to easily access this particular control and then call the associated method, its driving me
I have been reading the book Professional Dotnetnuke 4 it is not answering my question.