ASP .NET MVC No acción significa

¿Alguien puede decirme por qué debería usar NonAction? Quiero decir que tengo un formulario con varios valores de envío: Actualizar, Eliminar o Insertar. Como todos los botones de envío tienen la misma forma en común, estoy cambiando el valor de envío dentro del controlador y actúo en consecuencia.

Me gusta esto

public ActionResult asd(string submitButton){
     switch(submitButton){
         case "Insert":
             return Insert();
         // bla bla bla
     }
}

[NonAction]
public ActionResult Insert(){
    // some code inside here
    return View();
}

Una vez más, ¿por qué debería usar NonAction en lugar de algo como esto:

public void Insert(){
    // some code inside here
}

Respuestas a la pregunta(10)

Su respuesta a la pregunta