1

私はasp.netでVBを使用していますが、

request.QueryString()基本的な問題は、 Webページのクエリ文字列の要素とまったく同じように、文字列の要素をペアにしたいということです。

ただし、関数が現在のWebページのクエリ文字列を調べる代わりに、変数として格納されている文字列(クエリ文字列の正確な形式)を調べるようにします。

したがって、次のような文字列を定義すると、次のようになります。

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 に答える