1

我在 asp.net 中使用 VB,

基本问题是,我想将字符串中的元素配对,就像request.QueryString()对网页查询字符串中的元素一样。

但是,我希望它查看存储为变量的字符串(即查询字符串的确切形式),而不是查看当前网页查询字符串的函数。

因此,如果我定义一个字符串,例如:

Dim LooksLikeAQueryString As String = "?category1=answer1&category2=answer2"

我想要一个函数,如果我输入LooksLikeAQueryString和“category1”,它会输出“answer1”等。

有什么可以做到这一点还是我必须建立自己的功能?如果我必须自己构建,有什么提示吗?

我应该补充一点,在这种情况下,我将无法将字符串附加到 url,然后运行 ​​request.QueryString。

4

3 回答 3

2

您可以使用 HttpUtility.ParseQueryString 方法 - MSDN 链接

于 2011-11-11T15:55:19.160 回答
1

ParseQueryString会为你做这件事 - 沿着这些路线:

Private Function QueryStringValue(queryString As String, key As String) As String
    Dim qscoll As NameValueCollection = HttpUtility.ParseQueryString(queryString)
    For Each s As String In qscoll.AllKeys
        If s = key Then Return qscoll(s)
    Next
    Return Nothing
End Function

用法:

    Dim LooksLikeAQueryString As String = "?category1=answer1&category2=answer2"
    Response.Write(QueryStringValue(LooksLikeAQueryString, "category2"))
于 2011-11-11T16:14:27.147 回答
0

如果你不想依赖System.Web我的头顶

public string GetValue(string fakeQueryString,string key)
{
    return fakeQueryString.Replace("?",String.Empty).Split('&')
        .FirstOrDefault(item=>item.Split('=')[0] == key);
}
于 2011-11-11T16:01:54.027 回答