¿Formulario MVC razor con varios botones de envío diferentes?

Una vista Razor tiene 3 botones dentro de un formulario. Todas las acciones de los botones necesitarán valores del formulario, que son básicamente los valores de los campos de entrada.

Cada vez que hago clic en cualquiera de los botones me redirige a la acción por defecto. ¿Puede por favor guiarme cómo puedo enviar el formulario a diferentes acciones basadas en la pulsación del botón?

Realmente aprecio su tiempo, orientación y ayuda.

Solución

También puedes probar esto:

<input type="submit" name="submitbutton1" value="submit1" />
<input type="submit" name="submitbutton2" value="submit2" />

Luego en tu función por defecto llamas a las funciones que quieras:

if( Request.Form["submitbutton1"] != null)
{
    // Code for function 1
}
else if(Request.Form["submitButton2"] != null )
{
    // code for function 2
}
Comentarios (3)

en la vista

Comentarios (0)

Puedes usar JS + Ajax. Por ejemplo, si tienes algún botón puedes decirle lo que debe hacer en el evento click. Aquí el código:

 <input id="btnFilterData" type="button" value="myBtn">

Aquí su botón en html: en la sección script, necesitas usar este código (Esta sección debe estar al final del documento):

<script type="text/javascript">
$('#btnFilterData').click(function () {
    myFunc();
});
</script>

Y, por último, es necesario agregar la función ajax (En otra sección de script, que debe ser colocado al principio del documento):

function myFunc() {
    $.ajax({
        type: "GET",
        contentType: "application/json",
        url: "/myController/myFuncOnController",
        data: {
             //params, which you can pass to yu func
        },
        success: function(result) {

        error: function (errorData) {

        }
    });
};
Comentarios (1)