Tengo el siguiente código:datos de Publicación cuando mi modelo de vista tiene un constructor que no funciona
[HttpGet]
public ActionResult Edit(int req)
{
var viewModel = new EditViewModel();
viewModel.RequestId = int;
return View(viewModel);
}
[HttpPost]
Public ActionResult Edit(EditViewModel viewModel)
{
// some code here...
}
Funciona bien: cuando el formulario de edición se publicó, tengo el controlador de la acción que se llama.
Ahora modificar algunos poco mi código como este:
[HttpGet]
public ActionResult Edit(int req)
{
var viewModel = new EditViewModel(req);
return View(viewModel);
}
[HttpPost]
Public ActionResult Edit(EditViewModel viewModel)
{
// some code here...
}
public class EditViewModel()
{
public EditViewModel(int req)
{
requestId = req;
}
...
}
En esta nueva versión, tengo un modelo de vista con un contructor.
Esta vez, cuando mi formulario se devuelve, el controlador de acción nunca se activa.
¿Alguna idea?
Gracias.
Muchas gracias por esta precisa respuesta. La razón por la que me gustaría mover algún código al constructor de mi modelo de vista es mantener mi controlador lo más ligero posible. Tengo un montón de código para 'preparar' mi modelo de vista y 'contaminar' mi controlador ... Mi primera idea fue moverlo al constructor de mi modelo de vista. Quizás esta no sea una buena idea ... ¿Qué piensas? Gracias de cualquier manera. – Bronzato
@Bronzato Tengo los mismos requisitos que usted para pasar algún objeto en el constructor de vm y debe encapsular cómo procesarlo y establecer sus propias propiedades. ¿Estás utilizando la solución anterior o apoyaste cualquier otra solución para resolver esto? –
Utilicé la solución sugerida anteriormente. – Bronzato