使用VB.NET进行QueryString操作

此函数将使您对QueryString拥有100%的控制权-非常适合经常使用QueryString操作的程序员。

当我不得不更改QueryString的值并删除一些值,添加一些值等时,我编写了此函数。

它需要四(4)个参数:

oldUrl =您要操作的当前QueryString

qsName =您要修改/删除/添加的QueryField的名称

newValue =您想要QueryField的新值。 如果删除则设置为“”

del =可选的整数位标志; 如果设置为1,它将从QueryString中删除QueryField / QueryFieldValue。

这是代码,请尽情享受! (我总是欢迎提出新建议)


Function ChangeValue(ByVal oldUrl As String, ByVal qsName As String, ByVal newValue As String, Optional ByVal del As Integer = 0) As String 
    Dim newUrl As String = "" 
    ' Check if the [qsName] is currently in the [oldUrl]
    If InStr(oldUrl, qsName & "=") 
        oldUrl += "&" 
        Dim pos1 As Integer, pos2 As Integer 
        If del = 1
            pos1 = oldUrl.IndexOf(qsName & "=")
            pos2 = oldUrl.IndexOf("&", pos1) + 1
        Else
            pos1 = oldUrl.IndexOf(qsName & "=") + qsName.Length + 1
            pos2 = oldUrl.IndexOf("&", pos1)
        End If 
        Dim chunk_1 As String = oldUrl.SubString(0, pos1)
        Dim chunk_2 As String = oldUrl.SubString(pos2) 
        If del = 1
            newUrl = chunk_1 & chunk_2
        Else
            newUrl = chunk_1 & newValue & chunk_2
        End If 
        newUrl = newUrl.SubString(0, (newUrl.Length - 1)) 
    Else 
        If del = 1
            Return oldUrl
        End If 
        ' Append the new value to the [oldUrl] and make it a [newUrl]
        If oldUrl.EndsWith("?")
            newUrl = oldUrl & qsName & "=" & newValue
        ElseIf InStr(oldUrl, "?") AndAlso oldUrl.EndsWith("?") = False
            If oldUrl.EndsWith("&")
                newUrl = oldUrl & qsName & "=" & newValue
            Else
                newUrl = oldUrl & "&" & qsName & "=" & newValue
            End If
        Else
            newUrl = oldUrl & "?" & qsName & "=" & newValue
        End If 
    End If 
    Return newUrl 
End Function 
这是一个例子:

我们有查询字符串

http://www.yourdomain.com/search.aspx?fulltext=cat&author=bill+nye&type=scientist&age=45
现在,我想将“全文”更改为“ dog”,将“作者”更改为“ bob dole”

另外,我想从QueryString中删除“类型”。


Dim newUrl = Request.RawUrl.ToString()
newUrl = ChangeValue(newUrl, "fulltext", "dog")
newUrl = ChangeValue(newUrl, "author", "bob dole")
newUrl = ChangeValue(newUrl, "type", "", 1) 
QueryString现在看起来像这样:
http://www.yourdomain.com/search.aspx?fulltext=dog&author=bob+dole&age=45
是! 就这么简单!

From: https://bytes.com/topic/asp-net/insights/697741-querystring-manipulation-using-vb-net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值