Tengo una vista de formulario que usa un modelo de vista. La Acción "Nuevo" representa una nueva vista. Cuando se envía este formulario, devuelvo la información a la acción "Agregar".ASP.Net MVC return Ver con la nueva Instancia de modelo en lugar de usar redirigir a la acción
Si todas las acciones en DB son exitosas, quiero actualizar la vista. Creo una nueva instancia de viewmodel desde la acción "Agregar" y devuelvo View ("Nuevo", viewModel). Esto no refresca mi vista. Todos los valores antiguos (que se enviaron) permanecen en la vista. ¿Hay alguna manera de actualizar la página sin el método RedirectToAction?
He leído en otra publicación que ModelState.Clear no debe utilizarse, ya que puede tener un resultado no deseado.
Gracias,
Mar
Edición 1 - Código Agregado
New
public ActionResult New(string id)
{
var sysId= new Guid(id);
.......
........
string Details = pDto.Name + "(" + pDto.Code + ")";
var vm= new ViewModel(id);
vm.Details = Details;
return View(vm);
}
public ActionResult Add(ViewModel vm)
{
ViewModel vm= vm;
if (ModelState.IsValid)
{
var dto= _qRepository.GetFeaturesBy(viewModel.Code);
if (dto!= null)
{
ModelState.AddModelError("Code", "Code is already in Use.");
return View("New", viewModel);
}
_productService.AddFeature(..........);
// ModelState.Clear(); -- this works
vm= new ViewModel(vm.pId) { Message = "Code" + viewModel.Code + " was added ......", Details = vm.Details };
}
return View ("New", vm);
}
¿puede publicar el código de lo que está haciendo actualmente? –
He publicado el código - – TheMar