Vb.net 如何获取URL和查询字符串?运动模拟

Vb.net 如何获取URL和查询字符串?运动模拟,vb.net,url,request,Vb.net,Url,Request,我正在重构一些遗留代码。应用程序未使用querystring。之前的开发人员正在硬编码应用程序在其他地方使用的一些变量 像这样使用VB.NET so.Cpage = "ContractChange.aspx" 我的问题是我是否可以通过编程设置此值并包含当前查询字符串 我希望so.Cpage类似于ContractChange.aspx?d=1&b=2 我可以对请求对象或其他对象执行此操作吗?注意,我不需要这个域。试试这个: so.Cpage = "ContractChange.aspx?" &

我正在重构一些遗留代码。应用程序未使用querystring。之前的开发人员正在硬编码应用程序在其他地方使用的一些变量

像这样使用VB.NET

 so.Cpage = "ContractChange.aspx"
我的问题是我是否可以通过编程设置此值并包含当前查询字符串

我希望
so.Cpage
类似于
ContractChange.aspx?d=1&b=2

我可以对请求对象或其他对象执行此操作吗?注意,我不需要这个域。

试试这个:

so.Cpage = "ContractChange.aspx?" & Request.RawUrl.Split("?")(1)

不确定
VB.NET
中的语法,但是在
C
中,您只需要执行以下操作

StringId = Request.QueryString.Get("d");

希望这对您有所帮助。

在VB.Net中,您可以通过以下操作来完成

Dim id As String = Request.Params("RequestId")
如果要将其作为整数处理,可以执行以下操作:

Dim id As Integer

If Integer.TryParse(Request.Params("RequestId"), id) Then
   DoProcessingStuff()
End If
Dim query as String = Request.QueryString("d")

要获取当前查询字符串,只需执行以下操作:

Dim id As Integer

If Integer.TryParse(Request.Params("RequestId"), id) Then
   DoProcessingStuff()
End If
Dim query as String = Request.QueryString("d")
这将把“d”querystring的值分配给字符串变量“query”。请注意,所有查询字符串值都是字符串,因此如果要传递数字,则需要“强制转换”或将这些字符串值转换为数字(但在强制转换时要注意例外情况)。例如:

Dim query as String = Request.QueryString("d")
Dim iquery as Integer = CType(query, Integer)
请求对象的QueryString属性是名称/值键对的集合。具体来说,它的类型为System.Collections.Specialized.NameValueCollection,您可以按如下方式迭代每个名称/值对:

Dim coll As System.Collections.Specialized.NameValueCollection = Request.QueryString
Dim value As String
For Each key As String In coll.AllKeys
   value = coll(key)
Next
使用这两种机制中的任何一种(或非常类似的机制)都应该能够构造一个字符串变量,该变量包含您希望导航到的完整url(页面和查询字符串)。

试试这个

Dim name As String = System.IO.Path.GetFileName(Request.ServerVariables("SCRIPT_NAME"))
Dim qrystring As String = Request.ServerVariables("QUERY_STRING")
Dim fullname As String = name & "/" & qrystring
问题:“…我可以通过编程设置此值并包含当前查询字符串吗?”。我明白了,他想附加当前的查询字符串,而不是构建一个新的查询字符串。