Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Tài sản thuộc tính của một điều khiển ListItem chỉ hoạt động trong vòng một điều khiển HtmlSelect

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:309338
TRIỆU CHỨNG
Khi bạn sử dụng các RadioButton hoặc Dropdowns kiểm soát, nếu bạn cố gắng để đặt một cặp giá trị quan trọng trong các ListItem kiểm soát, cặp giá trị phím không ghi được vào trang kết quả.

Ví dụ, sau đây RadioButtonList
<asp:RadioButtonList id="RadioButtonList1" runat="server">	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem>	</asp:RadioButtonList>				
- hay -
RadioButtonList1.Items[0].Attributes.Add("key", "k1");				
chỉ trả về đầu ra sau đây:
<input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="v1" /><label for="RadioButtonList1_0">1</label>				
Tương tự như vậy, sau đây Dropdowns
<asp:DropDownList id="DropDownList1" runat="server">	<asp:ListItem Value="v1" Key="k1">1</asp:ListItem></asp:DropDownList>				
chỉ trả về đầu ra sau đây:
<option value=v1>1</option>				
Các "Key = k1" không trả lại.
NGUYÊN NHÂN
Các ListItem kiểm soát có một tài sản Thuộc tính loại AttributeCollection. Khi các ListItem kiểm soát là bên trong một RadioButtonList điều khiển hoặc một Dropdowns kiểm soát, cặp phím giá trị bạn chỉ định cho các Thuộc tính tài sản của các ListItem kiểm soát (hoặc lập trình hoặc declaratively) không rendered.
GIẢI PHÁP
Để làm việc xung quanh vấn đề này trong các RadioButtonList kiểm soát, sử dụng một nhóm HtmlInputRadioButton điều khiển. Ví dụ:
<input id="Radio01" type="radio" name="group1" Key="k1" runat="server" >				
Để làm việc xung quanh vấn đề này trong các Dropdowns kiểm soát, sử dụng các HtmlSelect kiểm soát. Ví dụ:
<select runat="server">	<option value="v1" id="ID1" key="k1">1</option></select>				
TÌNH TRẠNG
Hành vi này là do thiết kế.
THÔNG TIN THÊM
Trong phần "Giải quyết" của bài viết này, các HtmlSelect điều khiển được sử dụng để cho thấy làm thế nào để thực hiện các thuộc tính expando như là một workaround để sử dụng các Dropdowns kiểm soát. Trong khi các lớp học cả hai làm cho việc sử dụng các ListItem lớp trong nội bộ, họ hỗ trợ expando thuộc tính một cách khác nhau. Các HtmlSelect điều khiển hỗ trợ bằng cách sử dụng thuộc tính expando vì mô hình lập trình của nó là hơn HTML trung tâm. Tuy nhiên, hỗ trợ thuộc tính expando với các Dropdowns kiểm soát là hơn tham gia hơn chỉ vẽ các thuộc tính chính họ. Ví dụ, bạn không thể sử dụng dữ liệu ràng buộc để hỗ trợ các thuộc tính với các Dropdowns kiểm soát.
kbreadme

Warning: This article has been translated automatically

Thuộc tính

ID Bài viết: 309338 - Xem lại Lần cuối: 08/27/2011 17:20:00 - Bản sửa đổi: 2.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbprb kbreadme kbservercontrols kbmt KB309338 KbMtvi
Phản hồi