2012-11-29 169 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