2009-05-11 34 views
26

Tôi có một IDictionary, bây giờ tôi muốn sử dụng các giá trị này trong một danh sách lựa chọn. Làm thế nào để tôi làm điều này?IDictionary to SelectList?

Cảm ơn.

Trả lời

42

Chỉ cần đặt "Value""Key" cho dataValueFielddataTextField. Bạn có thể thực hiện việc này trong chính Chế độ xem của bạn hoặc từ hành động của bạn (chưa thử nghiệm mã bên dưới).

 
var targets = new Dictionary<string, string>(); 
targets.Add("Key", "Value"); 

ViewData["MyList"] = new SelectList(targets, "Key", "Value"); 
+0

OK, Cảm ơn bạn đã trợ giúp. –

+0

@David: tuyên bố đề xuất: Từ điển lớp công khai . Do đó, tôi khuyên bạn nên chuyển đổi khóa & giá trị và cuối cùng: danh sách lựa chọn mới (mục tiêu, "Khóa", "Giá trị"); –

+0

@Bolt Thunder: Đã cập nhật. – David

2

Vâng, IDictionary kế thừa từ IEnumerable để bạn có thể chuyển từ điển đó cho một trong các nhà thầu cho SelectList.

+2

Bạn nên chuyển thuộc tính Giá trị thay vì chỉ IDictionary. Nếu bạn chỉ cần chuyển IDictionary, bạn sẽ nhận được các cặp khóa/giá trị thay vì các giá trị. –

+1

Vui lòng đăng mã bạn đang sử dụng để chúng tôi có thể sử dụng mã đó để kiểm tra. –

+1

@ Meta-Knight Bạn thường cần các phím cũng như cho một danh sách lựa chọn. Trừ khi bạn không sử dụng dữ liệu đã chuẩn hóa ... – ProfK

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