2009-02-16 41 views
15

Tengo el botón de comando agregado en mis cuadrículas asp.net. Después de realizar una acción con ese botón, actualizamos la cuadrícula para reflejar los datos nuevos. (básicamente esta acción duplica la fila de la grilla).Actualizar la página después de una acción de devolución de datos en asp.net

Ahora, cuando el usuario actualice la página con F5 , se muestra un mensaje de alerta (para volver a enviar la información al servidor) si seleccionamos "reintentar", la acción se repite automáticamente.

Sé que este es un problema común en asp.net, ¿cómo podemos manejarlo mejor?

Respuesta

2

Si cree que no necesita el paradigma de devolución de datos, le recomendamos que consulte ASP.NET MVC.

1

Si lo entendí bien, solo tiene que comprobar si se encuentra en una situación posterior a la restauración antes de rellenar la cuadrícula.
Asumiendo que hacer eso en Page_Load, simplemente rodear la operación con la prueba posterior a la espalda como esta:

private void Page_Load(object sender, EventArgs e) 
{ 
    if(!this.IsPostBack) 
    { 
     // populate grid 
    } 
} 
1

es necesario llamar a Response.Redirect (Request.Url.ToString());

o puede envolver la cuadrícula con UpdatePanel y después de cada comando de obligar a la fuente de datos a la red

2

El problema es que los botones de ASP.NET realizan los mensajes de forma cuando se presiona un botón. Si reemplaza el botón con un enlace, su problema desaparecerá. También puede usar un botón que realiza una función de JavaScript que establece la ubicación del documento en la dirección de su página.

1

dentro de la etiqueta <asp:Repeater> poner esto:

EnableViewState="false" 

Esto hará que el control para actualizar cada vez que se carga la página, no importa si se trata de una devolución de datos o no.

+0

¿Cómo es que nadie le dio a esta respuesta un voto positivo? – slamsal

+0

No funcionó para mí. – Andy

-1

por ejemplo: si hace clic en el botón 'sistema' detectará el evento 'button_click'. si actualiza la página, el sistema volverá a ejecutar el mismo evento. a don t tiene este problema, en su caso inserción: en su caso

private void button_click(object sender, System.EventArgs e) 
{ 
    button.Enabled =false; 
    button.Enabled =true; 
} 

es lo que quería decir?

+1

Esto no es de lo que se trata la pregunta. –

Cuestiones relacionadas