我想知道如何在 VB.net 中拆分查询字符串的一部分以获取发布请求?
因此,如果我有一个如下输出的 URL,我将如何只获取 ID 部分?
www.urlhere.com/name=whatever?id=someid
我需要获取 ?id= 的特定部分,并且我认为以下内容可以在 VB.net 中使用。
someString = Request.QueryString("?id")
然而,这并没有抓住查询字符串的正确部分。谁能指出我出错的方向?
谢谢,
我想知道如何在 VB.net 中拆分查询字符串的一部分以获取发布请求?
因此,如果我有一个如下输出的 URL,我将如何只获取 ID 部分?
www.urlhere.com/name=whatever?id=someid
我需要获取 ?id= 的特定部分,并且我认为以下内容可以在 VB.net 中使用。
someString = Request.QueryString("?id")
然而,这并没有抓住查询字符串的正确部分。谁能指出我出错的方向?
谢谢,
如果您有可用的当前上下文(因此,如果您实际上是在需要读取请求查询字符串的 Web 应用程序中执行此操作),您可以执行此操作。
Dim id As String = System.Web.HttpContext.Current.Request.QueryString("id")
如果你想要这个:“?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)
一个彻底的方法来完成它,这样你就可以看到它在哪个阶段出错了:
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
这应该抓住 id 中“=”后面的任何内容
Dim id as string
id = Request.QueryString("id")