2012-02-08 23 views
9

Tôi muốn chọn một mục trong danh sách thả trong ASP.NET bằng văn bản với VB.NET xuống - Tôi có giá trị và các văn bản trong hộp danh sách như thế này:chọn thả xuống danh sách mục findbytext mà không trường hợp nhạy cảm vb.net

 
Volvo 
Audi 
etc... 

Nhưng giá trị đến từ nơi khác trong trường hợp trên ... VOLVO, AUDI ..

mã này:

dropdownlist.FindByValue("CAPITAL") 

không làm việc và đưa ra null cho Volvo .. xin vui lòng giúp đỡ.

+0

Không có phương pháp gốc cho điều đó .. bạn sẽ phải tự viết. Câu trả lời là một ví dụ hay. –

Trả lời

14

Một cách sẽ được LINQ:

Dim volvoItem = dropdownlist.Items.Cast(Of ListItem)(). 
    FirstOrDefault(Function(i) i.Text.Equals("Volvo", StringComparison.InvariantCultureIgnoreCase)) 

C#:

var volvoItem = dropdownlist.Items.Cast<ListItem>() 
    .FirstOrDefault(i => i.Text.Equals("Volvo", StringComparison.InvariantCultureIgnoreCase)); 
+0

cảm ơn bạn ..:) –

1

này làm việc cho tôi

foreach(ListItem li in dropdownlist.Items) 
    { 
     if (String.Compare(li.Text, myLabel.Text, true) == 0) 
      myCustomValidator.IsValid = false; // Match Found ! 
    } 
+0

Không hiệu quả nếu bạn làm việc với nhiều mục. Sau đó, một tìm kiếm sẽ là lựa chọn tốt hơn của bạn nếu bạn cần cải thiện hiệu suất và sử dụng bộ nhớ. Nhưng để cải thiện giải pháp của bạn. Chỉ cần thoát khỏi vòng lặp for khi mục được tìm thấy –

0

Giống như Tim nói LINQ sẽ là bạn trả lời.
trong C# hãy thử như sau:

var item = dropdownlist.Items.Cast<ListItem>().SingleOrDefault(li => 
               li.Text.ToUpper() == "VOLVO"); 
0

biến thể bổ sung, sử dụng so sánh khuôn khổ CI. VB:

uiList.Items.Cast(Of ListItem) 
    .FirstOrDefault(Function(i) i.Text.Equals(comparand, StringComparison.InvariantCultureIgnoreCase)) 

C#:

uiList.Items.Cast<ListItem>() 
    .FirstOrDefault(i => i.Text.Equals(comparand, StringComparison.InvariantCultureIgnoreCase)); 

Bạn cũng có thể sử dụng CurrentCultureIgnoreCase tùy thuộc vào yêu cầu của bạn. Đây thường là an toàn hơn so với ToUpper/ToLower, bởi vì một số nền văn hóa có quy tắc vỏ không mong muốn.

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