que estoy trabajando con ASP.NET MVC2 RC y no puedo encontrar la manera de obtener el asistente de HTML, TextBoxfor trabajar con un modelo de vista patrón. Cuando se utiliza en una página de edición, los datos no se guardan cuando se llama a UpdateModel() en el controlador. He tomado los siguientes ejemplos de código de la aplicación NerdDinner.utilizando el patrón MVC modelo de vista con 2 inflexible de tipos HTML Ayudantes
Edit.aspx
<%@ Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NerdDinner.Models.DinnerFormViewModel>" %>
...
<p>
// This works when saving in controller (MVC 1)
<label for="Title">Dinner Title:</label>
<%= Html.TextBox("Title", Model.Dinner.Title) %>
<%= Html.ValidationMessage("Title", "*") %>
</p>
<p>
// This does not work when saving in the controller (MVC 2)
<label for="Title">Dinner Title:</label>
<%= Html.TextBoxFor(model => model.Dinner.Title) %>
<%= Html.ValidationMessageFor(model=> model.Dinner.Title) %>
</p>
DinnerController
// POST: /Dinners/Edit/5
[HttpPost, Authorize]
public ActionResult Edit(int id, FormCollection collection) {
Dinner dinner = dinnerRepository.GetDinner(id);
if (!dinner.IsHostedBy(User.Identity.Name))
return View("InvalidOwner");
try {
UpdateModel(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id=dinner.DinnerID });
}
catch {
ModelState.AddModelErrors(dinner.GetRuleViolations());
return View(new DinnerFormViewModel(dinner));
}
}
Cuando se utiliza el estilo original de ayudante (Http.TextBox) el (cena) llamada UpdateModel funciona como se esperaba y los nuevos valores se guardan.
Cuando se utiliza el nuevo (MVC2) estilo de ayuda (Http.TextBoxFor), la llamada UpdateModel (cena) no actualiza los valores. Sí, los valores actuales se cargan en la página de edición en carga.
¿Hay alguna otra cosa que deba agregar al código del controlador para que funcione? El nuevo helper funciona bien si solo estoy usando un modelo y no un patrón de ViewModel.
Gracias.
Hola, tengo el mismo problema en crear acción. Puede echar un vistazo http://stackoverflow.com/questions/2494940/custom-viewmodel-with-mvc-2-strongly-typed-html-helpers-return-null-object-on-cre –