我在asp.net中使用VB,
基本问题是,我想将字符串中的元素配对,就像request.QueryString()
对网页查询字符串中的元素一样。
然而,不是查看当前网页查询字符串的函数,而是希望它查看存储为变量的字符串(即查询字符串的确切形式)。
所以如果我定义一个字符串,如:
Dim LooksLikeAQueryString As String = "?category1=answer1&category2=answer2"
我想要一个函数,如果我输入LooksLikeAQueryString
和“category1”,它会输出“answer1”等。
有什么东西可以做到这一点,还是我必须建立自己的功能?如果我必须建立自己的,任何提示?
我应该补充一点,在这种情况下,我将无法将字符串附加到url然后运行request.QueryString。
答案 0 :(得分:2)
您可以使用HttpUtility.ParseQueryString方法 - MSDN link
答案 1 :(得分: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"))
答案 2 :(得分:0)
如果你不想要System.Web
的依赖,那就是我的头脑
public string GetValue(string fakeQueryString,string key)
{
return fakeQueryString.Replace("?",String.Empty).Split('&')
.FirstOrDefault(item=>item.Split('=')[0] == key);
}