Tengo una aplicación sencilla prueba:¿Html.TextBox usa Request.Params en lugar de Model?
Modelo:
public class Counter
{
public int Count { get; set; }
public Counter()
{
Count = 4;
}
}
controlador:
public class TestController : Controller
{
public ActionResult Increment(Counter counter)
{
counter.Count++;
return View(counter);
}
}
Vista:
<form action="/test/increment" method="post">
<input type="text" name="Count" value="<%= Model.Count %>" />
<input type="submit" value="Submit" />
</form>
clic en Enviar consigo tales valores:
5, 6, 7, 8, ...
Con Html.TextBox que espera el mismo comportamiento
<form action="/test/increment" method="post">
<%= Html.TextBox("Count") %>
<input type="submit" value="Submit" />
</form>
pero en realidad tiene
5, 5, 5, 5.
Parece que Html.TextBox utiliza Request.Params en lugar de Modelo?
Gracias, Alexander! – alex2k8
Entonces, ¿por especificar de forma explícita Model.Count no funciona? <% = Html.TextBox ("Count", Model.Count)%> Debido –
al principio Html.TextBox() toma valor del diccionario ModelState. –