2008-11-19 37 views
6

Như bạn có thể thấy herehere Tôi không phải là người bạn tốt của danh sách lựa chọn của asp.net MVC.
Lần này tôi tự hỏi làm cách nào để đếm các mục trong đó. Tôi muốn hiển thị nhãn thay vì menu thả xuống nếu các mục có thể không cung cấp bất kỳ lựa chọn nào (items.count < 2).Đếm số hạng mục trong danh sách lựa chọn (đếm IEnumerable)

--EDIT--

Mặc dù câu trả lời của Will có thể hoạt động quá, một cách dễ dàng để đi là gọi

.GetListItems().Count() 

này vô hiệu hóa bất kỳ lười biếng lấy bạn sẽ có, nhưng vì họ đang sẽ được thả xuống dù sao, tôi không nghĩ rằng đó sẽ là một vấn đề.

+0

Điều này có vẻ đã lỗi thời. Trong MVC phiên bản 1.0 này không hoạt động. Intellisense nói SelectList vẫn là một IEnumerable nhưng phương thức GetListItems() không có sẵn. –

+0

Thật vậy, điều này đã lỗi thời. Hơn nữa tôi bây giờ vượt qua Ienumerable chính nó vào xem và tạo ra các SelectList tại chỗ. Điều này cảm thấy tốt hơn cho tôi bởi vì bộ điều khiển không nên làm phiền với danh sách lựa chọn vì đây là một kiểu dữ liệu cụ thể xem. –

Trả lời

3

LINQ không có một phương pháp khuyến nông cho IEnumerable gọi là Count(). Count() được thực hiện cho IEnumerable, đó là một sự khác biệt lớn.

+0

Khoai tây, khoai tây - nó vẫn là một phương pháp mở rộng. Trừ khi bạn đang đề cập đến một loại triển khai khác, trong trường hợp đó tôi muốn được giáo dục. – Suncat2000

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