我有一個簡單的測試應用程序:Html.TextBox是否使用Request.Params而不是Model?
型號:
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使用Request.Params代替模型?
謝謝亞歷山大! – alex2k8 2009-06-05 08:02:46
那麼爲什麼指定Model.Count顯式不起作用?<%= Html.TextBox(「Count」,Model.Count)%> – 2009-06-05 09:00:15
因爲起初Html.TextBox()從ModelState字典中獲取值。 – 2009-06-05 09:22:22