0

我想知道如何在 VB.net 中拆分查询字符串的一部分以获取发布请求?

因此,如果我有一个如下输出的 URL,我将如何只获取 ID 部分?

www.urlhere.com/name=whatever?id=someid

我需要获取 ?id= 的特定部分,并且我认为以下内容可以在 VB.net 中使用。

someString = Request.QueryString("?id")

然而,这并没有抓住查询字符串的正确部分。谁能指出我出错的方向?

谢谢,

4

4 回答 4

0

如果您有可用的当前上下文(因此,如果您实际上是在需要读取请求查询字符串的 Web 应用程序中执行此操作),您可以执行此操作。

Dim id As String = System.Web.HttpContext.Current.Request.QueryString("id")
于 2012-11-29T16:19:03.423 回答
0

如果你想要这个:“?id=34”试试这个:

    Dim url As String = "www.urlhere.com/name=whatever?id=someid"

    Dim selectId As String = url.Substring(url.LastIndexOf("?id="), url.Length - url.LastIndexOf("?id="))

如果你只想要这个:“?id=”

   Dim url As String = "www.urlhere.com/name=whatever?id=someid"

   Dim selectId As String = url.Substring(url.LastIndexOf("?id="), 4)
于 2012-11-29T10:33:45.837 回答
0

一个彻底的方法来完成它,这样你就可以看到它在哪个阶段出错了:

Imports System.Web ' remember to add a reference to System.Web '

Module Module1

    Sub Main()
        Dim s = "http://www.urlhere.com/name=whatever?id=someid"
        Dim u = New Uri(s)
        Dim q = u.Query
        Dim parts = HttpUtility.ParseQueryString(q)
        Console.WriteLine(parts("id"))
        Console.ReadLine()
    End Sub

End Module

输出:someid

于 2012-11-29T19:30:03.433 回答
0

这应该抓住 id 中“=”后面的任何内容

Dim id as string
id = Request.QueryString("id")
于 2012-11-29T17:42:43.770 回答