2011-02-03 21 views
6

Quiero eliminar la parte Querystring de mi Request.UrlReferrer.AbsoluteUri antes de la redirección en C#.Cómo quitar la parte querystring de Request.UrlReferrer.AbsoluteUri en C#

Por ejemplo, si usted tiene su

Request.UrlReferrer.AbsoluteUri = "http://localhost:8080/english/index_2011.aspx?logout=true" 

Ahora quiero

Response.Redirect(Request.UrlReferrer.AbsoluteUri) without QueryString part (?logout=true") 

favor sugerir el uso de C#

Respuesta

5

Response.Redirect (Request.UrlReferrer.AbsoluteUri.Substring (0, Request.UrlReferrer.AbsoluteUri.IndexOf ('?')));

EDITAR

De hecho, en realidad se puede utilizar:

Response.Redirect(Request.UrlReferrer.AbsolutePath); 

comprobarlo en MSDN.

+0

No podemos usar split en él. –

+0

Por qué estamos usando -1, está eliminando 'x' de mi extensión aspx –

+0

@Gracias Dear Ardman –

8

uso Request.UrlReferrer.AbsoluteUri.ToString().Split('?')[0]

Esto debería hacer el truco para tú.

8

una forma más limpia sería

Request.UrlReferrer.GetLeftPart(UriPartial.Path) 

Significado Quiero que todo el camino hasta. Debería devolver

"http://localhost:8080/english/index_2011.aspx" 
+0

Sí, pero ¿cómo podría devolver solo /english/index_2011.aspx – JoshYates1980

Cuestiones relacionadas