2009-10-05 64 views
5

Quiero tener un botón de cancelación simple, así que al confirmar, por ejemplo, la eliminación de un producto, pueden cambiar de opinión y hacer clic en cancelar antes de que el la acción de eliminación se inicia.ASP.NET MVC: la forma correcta de manejar un botón cancelar

Me imagino que al hacer clic en el botón que desea redirigir al usuario a la página anterior. Entiendo que una forma común de manejar esto es con javascript

onclick="javascript:history.back(1);" 

¿Esto es aceptable? Si el usuario tiene JavaScript desactivado, ¿qué ocurre entonces?

Por lo tanto, pensé que enviaría el formulario y una acción redirigiría al usuario a la página anterior. ¿Es así como debería hacerse? Y si es así, ¿cuál es el código C# para hacer esto?

Gracias por cualquier ayuda :)

+0

¿Está tratando de detener una eliminación en progreso o está apareciendo una confirmación cuando el usuario hace clic en eliminar o qué? –

+0

pregunta editada. Quise decir que el usuario puede hacer clic en un botón cancelar cuando se muestra una ventana emergente de confirmación – ajbeaven

+2

En ese caso, onclick = "javascript: return (confirm ('¿Está seguro de que quiere eliminar?')) Probablemente sea mejor. Los mantendrá en la misma página cuando cancelen en lugar de volver a una página anterior. En cuanto a si tienen javascript deshabilitado ... necesitarás la ayuda de otra persona. –

Respuesta

3

la única forma en que puede hacer esto sin javascript es si realiza una segunda forma que POSTS a una acción diferente (que simplemente lo redireccionará) que solo tiene un botón de enviar con cancelar el texto.

Si está haciendo una aplicación web, se espera que javascript sea un requisito. En lo que a mí respecta, cualquiera que elija vivir sin Javascript ahora elige vivir con un Internet interrumpido, y ha pasado mucho tiempo desde que los navegadores no lo soportaron. La idea es simplemente tonta para mí, más o menos como las personas que bloquean las cookies.

1

podría ser mejor si lo hace una devolución de datos jQuery para un evento de controlador que puede entonces enviar un evento para cancelar el objeto de hacer el procesamiento.

si hace que su objeto de procesamiento se ejecute de manera asíncrona, entonces puede tener un método de cancelación que luego establecerá, por ejemplo, un indicador que se comprueba cada vez que se procesa o lo que sea que tenga.

Creo que volver es un poco peligroso ya que la operación puede no detenerse.

+0

como se especifica en el primer párrafo editar, el procesamiento aún no ha comenzado – ajbeaven

+0

Sí, lo leí después de publicar mi respuesta. Lo siento – griegs

Cuestiones relacionadas