2012-03-07 31 views
7

Không có thuộc tính Value:Tại sao tôi không thể đặt giá trị trên asp: CheckBox?

<asp:CheckBox ID="CheckBox1" runat="server" /> 

trong khi trên HTML tiêu chuẩn này được phép:

<input type="checkbox" ID="CheckBox1" value="My Valyue" /> 

tại sao?

+1

@Mr Danh sách: http://www.w3schools.com/jsref/dom_obj_checkbox.asp – markzzz

+0

Rất tiếc. Tâm trí tôi phải ở một nơi khác, xin lỗi. –

Trả lời

22

Thuộc tính Text được sử dụng để hiển thị nhãn cho hộp kiểm.

Việc kiểm soát có một tài sản mà bạn có thể thêm vào InputAttributes:

myChk.InputAttributes.Add("value", "My Value"); 

Tôi tin rằng nếu bạn chỉ cần thêm thuộc tính value để đánh dấu, điều này cũng sẽ nhận được đông dân cư.

Bạn có thể truy cập vào các giá trị như sau:

myChk.InputAttributes["value"]; 

Để trả lời câu hỏi của tại saoValue không phải là một xây dựng trong thuộc tính đến CheckBox kiểm soát:

Một CheckBox trong sự cô lập (chỉ một mình) không cần giá trị. Theo định nghĩa, nó là một boolean và được xác định bởi ID của nó. Tất cả những gì bạn cần làm là kiểm tra xem nó đã được kiểm tra hay chưa.

Giá trị đi vào chơi khi bạn nhóm hộp kiểm và có một điều khiển cho điều đó - những CheckBoxList sử dụng ListItem - mỗi ListItem không có một tài sản Value.

+0

mà có vẻ lạ, tôi nhận được nó cho các điều khiển khác nhưng Checkboxes? Giá trị dường như có ý nghĩa hơn. Tôi đoán tất cả về sự kế thừa từ một GenericElement và tương tự cho việc lặp lại trên các giao diện chung. –

+1

KHÔNG! Thuộc tính văn bản được coi là "nhãn" gần hộp kiểm, chứ không phải là giá trị của hộp kiểm .. – markzzz

+0

@markzzz - Bạn đúng, sai lầm của tôi. Đã cập nhật câu trả lời. – Oded

Các vấn đề liên quan