2010-02-10 27 views
31

¿Hay un tipo de comando Actualizar página para actualizar una página?Actualizar página C# ASP.NET

No deseo redireccionar a la página o actualizar en JavaScript.

+0

¿Desea un ciclo de página completa? Si es así, las soluciones provistas deberían funcionar. Sin embargo, dijiste que no querías redirigir ... así que no estoy exactamente seguro de lo que quieres que suceda. –

+0

Gracias Chris. Fermin lo clavó. – Eric

Respuesta

69

creo que esto debería hacer el truco (no probado):

Page.Response.Redirect(Page.Request.Url.ToString(), true); 
+0

Sé que esta publicación fue hace mucho tiempo. Pero acabo de tropezar con él y me preguntaba por qué su segundo parámetro en "verdadero". Hasta donde yo sé, la mejor práctica es en realidad "falsa" cuando se usa Response.Redirect. ¿Qué piensas? – aleafonso

+1

En general, "false" es una práctica mejor porque "verdadero" hace que se genere una ThreadAbortException, lo cual es costoso. Como siempre, depende de tus requisitos. – Fermin

+0

Gran solución :) –

6
Response.Redirect(Request.Url.ToString()); 
+8

Tenga cuidado que se puede usar para hacer exploits XSS. Estás confiando ciegamente en la URL del usuario. Sería mejor que hicieras Response.Redirect ("~ AbsolutePage.aspx"); –

+3

¿Puede alguien aclararme cómo se usaría esto para hacer XSS? Redirige a la página actual, y no puede hacer más de lo que permite esta página, ¿no? –

+0

Esta es la URL de la página actual, no un parámetro de cadena de consulta de URL de retorno. Tampoco veo el XSS en esto. – markt

4

sólo se puede hacer una devolución de datos regular para actualizar la página si no quiere volver a dirigir. La contabilización desde cualquier control ejecutará el ciclo de vida de la página y actualizará la página.

Para hacerlo desde javascript, simplemente puede llamar a la función __doPostBack().

+1

-1 Asker dijo que no Javascript –

+2

Wow, áspero. Bastante liberal con los votantes allí, ¿eh? También dijo que no había redirecciones, y fue completamente un lado para el resto de la respuesta. – womp

+1

No encontré la respuesta útil, así que hice clic en la flecha hacia abajo. Eso es exactamente lo que hago. ¡Sin ofender! –

2

Dependiendo de lo que necesite exactamente, un Server.Transfer podría ser una alternativa económica a Response.Redirect. Más información está en Server.Transfer Vs. Response.Redirect.

-5

Para actualizar la página entera, pero funciona con normalidad:

Response.Redirect(url,bool) 
+5

¡Bienvenido al desbordamiento de pila! ¿Podrías explicar a qué te refieres con que funciona 'normal'? ¡Los detalles son geniales para las personas que vienen y ven tu respuesta más tarde! – tmesser

0

Uso:

Response.Redirect(Request.RawUrl, true); 
12

Cuidado con la reescritura de URLs, sin embargo. Estoy usando esto, por lo que mantiene las URL reescritas.

Response.Redirect(Request.RawUrl); 
-2

función de llamada Load:

Page_Load(sender, e);

0

usar

Response.Redirect(Page.Request.Path); 

Si usted tiene que comprobar si los Request.Params cuando la página es el uso de refresco a continuación. Esto no reescribirá Request.Params a la URL.

Response.Redirect(Page.Request.Path + "?Remove=1"); 
Cuestiones relacionadas