Pregunta

Tengo una visión y un controlador en mi aplicación MVC ASP.net.

Tengo un botón "Enviar" y un botón de "Cancelar" en mi opinión.

Al hacer clic en cualquiera de los Botton continuación se activará la acción.

AcceptVerbs (HttpVerbs.Post)

ActionResult pública Resultado ()

{

}

Ahora la pregunta es cómo voy a saber en mi ActionResult Resultado pública (), ya sea causada segundo palo a causa de "Enviar" o "Cancelar" ??

¿Fue útil?

Solución

se puede tratar como

function OnBeginRequest(sender, args) {
        var postBackElement = args.get_postBackElement();
if ((postBackElement.id == '<%= btnSave.ClientID %>')
  {

  }
}

Otros consejos

Usted podría resolver el problema con los siguientes pasos:

i. Colocar un campo oculto llamado 'cancelar' en la forma de su vista. Darle un valor predeterminado de false .

ii. En el evento onclick para el botón de cancelar, añadir el siguiente script:

document.getElementById('cancel').value = true; document.getElementById('myForm').submit();

Cambiar 'myForm' que es el nombre del formulario.

III. Cambiar la firma del método para Resultados () a lo siguiente:

public ActionResult Result(bool cancel)

A través de enlace de modelos, el valor de su campo oculto 'cancelar' será accesible en la firma de su método de acción.

Gracias por las respuestas. Una de las soluciones más que tengo es,

public ActionResult Result()
    {
        if (Request.Params.ToString().IndexOf("btnSubmit") > 0)
            //
        else
            //
    }

Yo sugeriría que el botón "cancelar" no debe enviar el formulario. Hay varias maneras de manejar esto, pero la más sencilla sería la de tener un evento onclick javascript en el botón que se desplaza de nuevo a la página anterior. (history.go(-1)) Si eso no se ajusta a sus necesidades, también puede especificar una ruta específica para navegar. Más compleja sería para interceptar el clic en el lado del cliente y decidir qué ruta para golpear, pero normalmente sólo hacerlo si quiero tener múltiples botones de envío en el formulario que llegará a las diferentes acciones, y eso es una situación bastante rara.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top