Tôi có một ứng dụng thử nghiệm đơn giản:Html.TextBox có sử dụng Request.Params thay vì Model không?
mẫu:
public class Counter
{
public int Count { get; set; }
public Counter()
{
Count = 4;
}
}
Bộ điều khiển:
public class TestController : Controller
{
public ActionResult Increment(Counter counter)
{
counter.Count++;
return View(counter);
}
}
Xem:
<form action="/test/increment" method="post">
<input type="text" name="Count" value="<%= Model.Count %>" />
<input type="submit" value="Submit" />
</form>
Nhấp Gửi tôi nhận được giá trị như:
5, 6, 7, 8, ...
Với Html.TextBox tôi mong đợi những hành vi tương tự
<form action="/test/increment" method="post">
<%= Html.TextBox("Count") %>
<input type="submit" value="Submit" />
</form>
nhưng thực sự có
5, 5, 5, 5.
Có vẻ như Html.TextBox sử dụng Request.Params thay vì Mô hình?
Cảm ơn bạn, Alexander! – alex2k8
Vậy tại sao xác định một cách rõ ràng Model.Count không hoạt động? <% = Html.TextBox ("Count", Model.Count)%> –
Vì lúc đầu Html.TextBox() lấy giá trị từ từ điển ModelState. –