Estoy usando el ayudante Ajax.BeginForm en ASP.NET MVC3 para enviar un formulario que se reemplaza con nuevos valores en el formulario establecer en el servidor. Sin embargo, cuando uso helpers como Html.TextBoxPara obtener los valores que se enviaron, no los valores que inserté en el modelo en el servidor.ASP.NET MVC 3 Ajax.BeginForm y Html.TextBoxFor no refleja los cambios realizados en el servidor
Por ejemplo; Establecí SomeValue en 4 en mi acción y lo muestro en un cuadro de texto. Cambio el valor a 8, pulso enviar y espero que el valor vuelva a ser 4 en el cuadro de texto, pero por alguna razón se mantiene 8. Pero si imprimo SomeValue sin usar Html helpers, dice 4. Alguien tiene alguna pista sobre ¿Que esta pasando?
Mi controlador:
public ActionResult Index(HomeModel model)
{
model.SomeValue = 4;
if (Request.IsAjaxRequest())
return PartialView(model);
return View(model);
}
public class HomeModel
{
public int? SomeValue { get; set; }
}
Mi vista (por favor, no es que tenga todo el JavaScript necesario en mi diseño de página):
<div id="ajaxtest">
@using(Ajax.BeginForm(new AjaxOptions{ InsertionMode = InsertionMode.Replace,
UpdateTargetId = "ajaxtest", HttpMethod = "Post" })) {
@Html.TextBoxFor(model => model.SomeValue)
<input type="submit" value="Update" />
}
</div>