Hãy nói rằng tôi có mô hình này:Đầu tiên html helper tạo thuộc tính validation client-side, trong khi cái thứ hai không
public class Person
{
public bool IsApproved { get; set; }
}
Và whis mã này, tôi đang cố gắng để render input
với check
loại:
@Html.CheckBoxFor(x => x.IsApproved)
@Html.CheckBox("IsApproved")
Nhưng, kết quả là khác nhau:
// CheckBoxFor result
<input data-val="true" data-val-required="The IsApproved field is required." id="IsApproved" name="IsApproved" type="checkbox" value="true">
<input name="IsApproved" type="hidden" value="false">
// CheckBox result
<input id="IsApproved" name="IsApproved" type="checkbox" value="true">
<input name="IsApproved" type="hidden" value="false">
Làm thế nào và tại sao, cái đầu tiên tạo thuộc tính cho xác thực phía máy khách, trong khi cái kia thì không?
Cập nhật:
Sau khi trao đổi thứ tự của @Html.CheckBoxFor
và @Html.CheckBox
, thứ tự của các yếu tố đánh dấu không thay đổi.
Cám ơn một lời giải thích tốt đẹp. Đây là câu trả lời. –
Xin chào @Stephen, Xin lỗi vì đã phân phối lại. Một vài ngày trước, tôi đã đăng một câu hỏi về một vấn đề mà tôi metAsp.net MVC. Bạn có bất kỳ ý tưởng về nó? Bạn có thể nhìn vào nó không? Đây là [câu hỏi] (http://stackoverflow.com/questions/31492648/best-practice-for-using-interface-type-as-model-in-view-and-use-real-type-attrib). –
@FarhadJabiyev, Không có thời gian, nhưng tôi sẽ xem sáng ngày mai :) –