比较ASP.NET中的URL

时间:2013-03-06 00:29:54

标签: asp.net url

我有一个应用程序可以抓取网站以获取唯一的链接网址(即href),然后将网址保存到数据库中。我将确保网站中的每个页面都有网址。下面是获取保存到数据库的字符串的代码。

'url is the url obtained from the link's href
Dim uriReturn As Uri = New Uri(url, UriKind.RelativeOrAbsolute)

'Make it absolute if it's relative
If Not uriReturn.IsAbsoluteUri Then
     Dim baseUri As New Uri(BaseUrl)
     uriReturn = New Uri(baseUri, uriReturn)
End If

Return LCase(uriReturn.ToString)

在应用程序的另一部分中,我有一节使用当前页面的url查询数据库。以下是获取当前页面网址的代码。

Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri

我的问题是,我可以确定我会使用当前页面网址在数据库中找到匹配项吗?那可能是从href获得的字符串和从当前页面返回的字符串有差异,即使它们指向同一页面?有没有办法转换网址以确保它们始终匹配?

1 个答案:

答案 0 :(得分:0)

由于未定义BaseURl,因此无法判断您是否正确。但BaseUrl应为= Request.Url

和你的

Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri

由于您正在进行存储/检索,我建议您标准化您的方法。在商店部分,您使用uriReturn.ToString(),因此在检索部分中,您还应使用ToString()代替AbsoluteUri