Hace unos días me tope con un inconveniente debía colocar varios botones de submit en una vista de MVC, la solución que implementé es muy sencilla
1. En el controlador añadí un parámetro llamado "boton" de tipo string, el cual recibe el valor del botón que se esta accionando en la vista, en el ejemplo colocó una condición que indica que si el botón que se esta accionando es el de cancelar, regresamos al index de lo contrario ejecutamos otra acción
[HttpPost]
public ActionResult Carga(string boton)
{
if(boton.CompareTo("Cancelar")==0)
1. En el controlador añadí un parámetro llamado "boton" de tipo string, el cual recibe el valor del botón que se esta accionando en la vista, en el ejemplo colocó una condición que indica que si el botón que se esta accionando es el de cancelar, regresamos al index de lo contrario ejecutamos otra acción
[HttpPost]
public ActionResult Carga(string boton)
{
if(boton.CompareTo("Cancelar")==0)
return RedirectToAction("Index");
}
2. En la vista tengo dos botones "Cargar" y "Cancelar" de tipo submit, acá es importante que la propiedad "name" del botón tenga el mismo nombre que la variable del controlador, ya que es por este medio por el cual el controlador identifica de donde tomar el valor para la variable en este caso la variable del controlador es "boton" y por lo tanto el nombre de la propiedad "name" en la vista es de igual forma "boton", por ultimo la propiedad "value" del botón tiene dos propósitos, el primero mostrar el texto al usuario y segundo es el valor que tomara la variable "boton" del controlador por lo que queda algo así:
<input type="submit" name="boton" value="Upload" />
< input type="submit" name="boton" value="Cancelar" />
< input type="submit" name="boton" value="Cancelar" />
Comentarios