Arreglar campos que no se actualizan en MVC .NET

Comentar
Compartir
What-Is-MVC

En alguna ocasión me han preguntado porqué a veces, al enviar datos al servidor con el método POST (dentro de un formulario por ejemplo) y al recargar los valores del campo en la respuesta, se produce un error en la visualización de los datos, ya que aunque hayamos actualizado los valores del Modelo, estos no se muestran actualizados en la Vista, y cuál es la solución.

Este problema aparece en el framework Model-View-Controller de .NET cuando, después de haber hecho HttpPost de un formulario, el modelo sigue conservando los valores anteriores.

Para solucionarlo, debemos llamar al metodo ModelState.Clear() de nuestro modelo cuando queramos invalidar los datos que contiene el modelo, de este modo obligamos (o forzamos) la actualización de la representación de los datos.

He aquí el código en C#.

[code lang=”csharp”]
[HttpPost]
public ActionResult Update(int id, string value)
{
//do something
Object Response = foo(id, value);

ModelState.Clear(); //para invalidar todo el estado del modelo
//ModelState.Remove("nombre-del-campo"); //
//retornar la vista
return View(Response);
}
[/code]

Como veréis en el ejemplo, también podríamos invalidar únicamente ciertos campos llamando al método Remove().

Acerca de findemor

Técnico de Innovación en solusoft.

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/30/d298707731/htdocs/porexpertos.es/wp-includes/class-wp-comment-query.php on line 405

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *