2012-11-29 130 views
0

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

所以,如果我有一个URL输出如下,我将如何抓住ID部分?

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

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

someString = Request.QueryString("?id") 

但是,这并没有抓住查询字符串的正确部分。任何人都可以向我指出我要出错的方向吗?

感谢,

+0

尝试不使用'?' – Jeff

+0

我有,它没有拿起实际的ID。 – PipBoy

回答

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) 
0

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

Dim id As String = System.Web.HttpContext.Current.Request.QueryString("id") 
0

这应该抓住什么是behine的“=”,在ID

Dim id as string 
id = Request.QueryString("id") 
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