0
我寫了自己的staticsitemapprovider,它構建了一個動態站點地圖。我遇到的問題是,有時頁面在查詢字符串中會有其他參數,我需要忽略它們。忽略自定義sitemapprovider中的特定查詢字符串參數
Public Overrides Function FindSiteMapNode(ByVal rawUrl As String) As SiteMapNode
Dim startpos As Integer = 0
Dim endpos As Integer = 0
If rawUrl.Contains("pagetype=") Then
startpos = rawUrl.IndexOf("pagetype=")
endpos = rawUrl.IndexOf("&", startpos) + 1
If endpos >= startpos Then
'not the last param
rawUrl = rawUrl.Remove(startpos, endpos - startpos)
Else
'must be the last param
rawUrl = rawUrl.Remove(startpos)
End If
End If
Return MyBase.FindSiteMapNode(rawUrl)
End Function
我也重寫了接受HttpContect對象的FindSiteMapNode函數。有了這個,我可以簡單地找到該請求的URL,並通過上面的相同函數來運行它。
但是,由於我的sitemappath(綁定到站點地圖)在每個頁面上都沒有返回任何內容。