Request.QueryString – Parameter entfernen

Neulich stand ich vor einem Problem. Ich musste die Request.QueryString Collection auswerten und brauche einen bestimmten Schlüssel nicht. Request.QueryString ist aber ReadOnly und kann nur mit einem neuen Response weiter verarbeitet werden.

// 
NameValueCollection coll = Request.QueryString;
 
// remove
if (!String.IsNullOrEmpty(coll["gridAction"]) && coll["gridAction"] == "batchAction")
{
    // SCHLÄGT FEHL!!!! => Exception, weil ReadOnly
    coll.Remove("gridAction");
}

Statt in einer Schleife die Collection auszulesen, bin ich auf die statische Methode ParseQueryString aus dem Objekt HttpUtility gestoßen:

 
public static NameValueCollection ParseQueryString(
	string query
)
 
public static NameValueCollection ParseQueryString(
	string query,
	Encoding encoding
)

liefert auch eine Collection zurück, die aber nicht ReadOnly ist.

Beispiel:

// 
NameValueCollection coll = HttpUtility.ParseQueryString(Request.QueryString.ToString());
 
// remove
if (!String.IsNullOrEmpty(coll["gridAction"]) && coll["gridAction"] == "batchAction")
{
    coll.Remove("gridAction");
}

Habt Ihr noch andere Anregungen, Ideen, Lösungsvorschläge?

In diesem Sinne

It's only fair to share...Flattr the authorShare on FacebookTweet about this on TwitterShare on LinkedInEmail this to someone

Related Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.