Я закончил тем, что создал SkinObject, который обрабатывает это.В настоящее время я жестко закодировал сопоставление от TabID до CategoryID, а затем я делаю Response.Redirect на страницу с CategoryID, добавленным к URL.
Сначала я попытался записать CategoryID в ViewState на странице объектов Skin, но это не было обнаружено модулем.
Я все еще думаю, что есть лучший способ (я беспокоюсь о влиянии этого на SEO), но пока это работает, пока я не придумаю что-то лучшее или не добавлю функциональность в модуль.
NameSpace DotNetNuke.UI.Skins.Controls
Partial Class MapURLToCategoryID
Inherits UI.Skins.SkinObjectBase
Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
If Request("CategoryID") <> "" Then
Exit Sub
End If
Dim id As Int16 = -1
Select Case Request("tabid")
Case 92
id = 14
Case 93
id = 15
Case 227
id = 38
Case 95
id = 19
Case 91
id = 13
Case 226
id = 17
Case 94
id = 16
Case Else
'do nothing
End Select
If id <> -1 Then
Response.Redirect(NavigateURL("", "CategoryID=" & id.ToString), False)
End If
End Sub
End Class
End Namespace