4 Stimmen

Querystring Problem in C# mit Sonderzeichen

Ich bin auf ein sehr seltsames Problem gestoßen, bei dem mein Abfragestring "++" als Teil des Textes enthielt. Aber wenn ich den Abfragestring-Wert einer Zeichenfolge zuweise, werden ++ zu zwei Leerzeichen. Wie bekomme ich genau das, was als Abfragestring übergeben wird?

Ich habe festgestellt, dass die Abfragezeichenfolge "++" enthielt, aber wenn ich Request.QueryString["search"].ToString() ausführe, verschwindet "++", ich habe im Direktfenster nachgeschaut.

Ich benutze C# 2.0

URL: /default.aspx?search=test++

string t = Request.QueryString["search"].ToString();

0voto

Hashim Akhtar Punkte 755

Bei der Arbeit an einer ASP.Net 2.0-Lösung musste ich Folgendes tun:

    private string GetParameterFromRawUrl(string parameter)
    {
        var rawUrl = Request.RawUrl;
        int indexOfParam = rawUrl.IndexOf(parameter);
        int indexOfNextParam = rawUrl.IndexOf('&', indexOfParam);
        string result;

        if (indexOfNextParam < 1)
        {
            result = rawUrl.Substring(indexOfParam);
        }
        else
        {
            result = rawUrl.Substring(indexOfParam, (indexOfNextParam-indexOfParam));
        }

        return result;
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X