从任何URL获取值

时间:2010-06-16 23:58:21

标签: asp.net vb.net parsing url

我有这个网址:http://localhost:49500/Learning/Chapitre.aspx?id=2

如何才能在此网址中获得id的值?

4 个答案:

答案 0 :(得分:4)

您可以通过Request.QueryString()数组访问所有查询字符串:

Request.QueryString("id")会为您提供2

答案 1 :(得分:2)

尽管我自己的评论说它已被回答,但这是代码。

Dim idval As String = System.Web.HttpUtility.ParseQueryString("http://localhost:49500/Learning/Chapitre.aspx?id=2")("id")

答案 2 :(得分:0)

使用URL创建System.Uri类的新实例,并使用Query属性获取查询字符串部分。

获得该字符串后,请在“&”上执行String.Split字符。对于结果数组中的每个字符串,请在String.Split字符上执行'='。在结果数组中,第一个字符串是查询参数名称,第二个字符串是值(如果存在)。检查名称是否是您感兴趣的名称,如果是,请获取值。

更新:男孩,自1999年以来我没有碰过VB ......: - )

这是我的答案的代码。我没有意识到您要解析的Url是页面Url。对于该特定情况,Request.QueryString("id")确实是更好的解决方案。

    Dim url As Uri = New Uri("http://localhost:49500/Learning/Chapitre.aspx?id=2")
    Dim query As String = url.Query.Trim("?")
    Dim parameters() As String = query.Split("&")
    Dim tokens() As String
    Dim value As String = ""
    For index As Integer = 0 To parameters.Length - 1
        tokens = parameters(index).Split("=")
        If tokens(0).ToLower = "id" Then
            If tokens.Length = 2 Then
                value = tokens(1)
            End If
            Exit For
        End If
    Next
    ' At this point value contains the parameter value or
    ' is empty if the parameter has no value or if the parameter is not present

答案 3 :(得分:0)

您可以使用Request vb方法 使用网址:http://localhost:49500/Learning/Chapitre.aspx?id=2

Dim valueId = Request("id")

测试代码:

response.Write(valueId)

值Id为2