We cannot delete a query string directly like below:
Request.QueryString.Remove("foo")
If you do this, you will get an error - collection is read-only. So, we need to write the below code before deleting the query string.
In C#:
PropertyInfo isreadonly =
typeof(System.Collections.Specialized.NameValueCollection).GetProperty(
"IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
isreadonly.SetValue(this.Request.QueryString, false, null);
this.Request.QueryString.Remove("foo");
In VB.NET:
Dim isreadonly As PropertyInfo = _
GetType(System.Collections.Specialized.NameValueCollection).GetProperty(_
"IsReadOnly", BindingFlags.Instance Or BindingFlags.NonPublic)
isreadonly.SetValue(Me.Request.QueryString, False, Nothing)
Me.Request.QueryString.Remove("foo")
I hope that this will help you guys.