Desde POST
es un verbo para una solicitud HTTP, esto sólo tiene sentido (tal como está escrita) si el método de .Save()
inicia una conexión de bucle de retorno HTTP a la apropiada .SaveAll()
, (como http://..../Category/SaveAll
) ruta y pasa la colección forma como parte de la solicitud. Esto es una tontería y no se recomienda, ya que esto afectará su capacidad de probar esta controladora.
Sin embargo, si quieres decir que desea llamar .SaveAll()
y devolver su resultado prestado al cliente, se puede usar .RenderAction()
y pasar la colección de modelo o forma recibida por .Save()
como parámetro.
O, en el lado del servidor, simplemente crea una instancia del controlador de Categoría y llama a su método .SaveAll(), pasando nuevamente el modelo recibido por .Save()
como parámetro.
public ActionResult Save(MyModel m)
{
Category cat = new Category();
return cat.SaveAll(m);
}
Sin embargo, usted tiene que tomar el resultado de esa llamada y asegurarse de que está manejada adecuadamente por la vista resultante.
Si esto es lo que está tratando de hacer, vale la pena señalar que realmente debe tener el código del método .SaveAll()
que realiza el guardado separado en una capa lógica de negocios dedicada en lugar de vivir en el controlador. Toda esta funcionalidad debería, en teoría, estar disponible para su uso en un controlador diferente, o en una biblioteca que podría incluirse en otras aplicaciones.
creo que lo que el PO está tratando de hacer es actualizar su categorías desde la Vista del producto, y quiere mantenerlo todo SECO. –
No es esto ... Lo necesito si ya estoy dentro de una acción y para hacer una publicación para otra acción en otro controlador ... – AndreMiranda
@AndreMiranda, OK, pero ¿no es el objetivo final salvar sus categorías? ¿Te importa cómo sucede eso mientras sucede, utilizando las mejores prácticas? ¿Qué está tratando de lograr? Si solo necesita llamar a otro método de control, eso se puede hacer con la suficiente facilidad, sin crear una solicitud POST para hacerlo. –