私は簡単なテストアプリケーションを持っています:
モデル:
public class Counter
{
public int Count { get; set; }
public Counter()
{
Count = 4;
}
}
コントローラ:
public class TestController : Controller
{
public ActionResult Increment(Counter counter)
{
counter.Count++;
return View(counter);
}
}
意見:
<form action="/test/increment" method="post">
<input type="text" name="Count" value="<%= Model.Count %>" />
<input type="submit" value="Submit" />
</form>
[送信] をクリックすると、次のような値が得られます。
5、6、7、8、...
Html.TextBox を使用すると、同じ動作が期待されました
<form action="/test/increment" method="post">
<%= Html.TextBox("Count") %>
<input type="submit" value="Submit" />
</form>
しかし実際に得た
5、5、5、5。
Html.TextBox は Model の代わりに Request.Params を使用しているようです。