Posteado por: edeortuzar | 17/12/2012

Quitar(eliminar) una clave del QueryString en ASP.NET


We cannot delete a query string directly like below:
No podemos borrar una querystring directamente como se muestra:

Request.QueryString.Remove("idProducto")

Si hacemos esto, obtenemos un error: collection is read-only. Entonces, necesitamos escribir el siguiente código para poder hacerlo:

En C#:

PropertyInfo isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
// hacemos la colección editable
isreadonly.SetValue(this.Request.QueryString, false, null);
// eliminamos
this.Request.QueryString.Remove("idProducto");

En VB.NET:

Dim isreadonly As PropertyInfo = _
GetType(System.Collections.Specialized.NameValueCollection).GetProperty(_
"IsReadOnly", BindingFlags.Instance Or BindingFlags.NonPublic)

' hacemos la colección editable
isreadonly.SetValue(Me.Request.QueryString, False, Nothing)

' eliminamos
Me.Request.QueryString.Remove("idProducto")

Espero que les sirva como me sirvió a mí.

Saludos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: