2012-04-23 76 views
9

Tôi đang sử dụng đoạn mã sau để cập nhật một ListBox, đây recieving một danh sách từ một trang web dịch vụ-Giá trị không nằm trong phạm vi dự kiến ​​

client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted); 
client.userKeywordsAsync(); 

sử dụng -

void client_userKeywordsCompleted(object sender, userKeywordsCompletedEventArgs e) 
    { 

     string result = System.Convert.ToString(e.Result); 


     for (int i = 0; i < e.Result.Count; i++) 
     { 

      ListBoxItem lbitem = new ListBoxItem(); 

      lbitem.Name = "lb_" + i; 
      lbitem.Content = e.Result[i]; 

      lbitem.AddHandler(UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(ListBoxItem_DoubleClickEvent), true); 

      listBox1.Items.Add(lbitem); 

     } 

này hoạt động tốt , khi tôi sử dụng nó khi cửa sổ con tải, vì vậy hộp danh sách nhận danh sách từ cơ sở dữ liệu, tuy nhiên khi người dùng chọn một trong các mục trong hộp danh sách, họ có tùy chọn chỉnh sửa mục đã chọn. Vì vậy, một chỉnh sửa được đặt ra, có một nút chỉnh sửa, cập nhật cột trong bảng trong cơ sở dữ liệu. Vì vậy, sau đó bấm vào nút, tôi lại gọi mã nói trên để cập nhật hộp danh sách với các thông tin đăng nhập mới. Tuy nhiên, điều này mang lại lỗi bcak -

"Value does not fall within the expected range." 

Tại sao tôi không thể gọi phương thức web khi nhấp vào nút, vì tất cả những gì nó đang làm là làm mới hộp danh sách ???

Trả lời

11

Điều này có thể do thực tế là bạn đang cố thêm một ListBoxItem có cùng tên cho trang.

Nếu bạn muốn làm mới nội dung của hộp danh sách với các giá trị mới được truy xuất, trước tiên bạn sẽ phải xóa nội dung của hộp danh sách theo cách khác. Vòng lặp của bạn sẽ cố gắng tạo lại lb_1 và thêm nó vào cùng một danh sách.

Nhìn vào đây để một vấn đề tương tự mà xảy ra Silverlight: Value does not fall within the expected range exception

Chúc mừng,

+0

Vì vậy, bạn sẽ đề xuất những gì tôi đã làm? Tôi đã nhìn vào câu trả lời đó, tôi nghĩ những gì bạn nói là vấn đề. – Ebikeneser

+0

Tôi thực sự chỉ cần thêm một chức năng rõ ràng vào các mục listbox trên nút bấm, điều này làm việc đầu tiên với các tùy chọn được làm mới, tuy nhiên nếu tôi làm lại hộp danh sách không làm mới, bạn có biết tại sao đây không? – Ebikeneser

+0

Sau khi bạn xóa, chỉ có thể vì mục đích gỡ lỗi đảm bảo rằng danh sách các mục bị trống. Có lẽ bạn nên xem xét việc đặt rõ ràng trong cuộc gọi lại. – Stainedart

1

tôi đã từ một lý do totaly khác nhau thông báo tương tự "Giá trị không nằm trong phạm vi dự kiến" từ Visual studio 2008 trong khi cố gắng sử dụng: Công cụ -> Công cụ Silverlight nhúng của Windows -> Cập nhật Silverlight cho Dự án nhúng của Windows.

Sau khi trải qua nhiều ohurs tôi phát hiện ra rằng vấn đề là không có một tập tin tài nguyên và công cụ cập nhật tìm kiếm file rc

Therefor giải pháp là để thêm vào thư mục tài nguyên một rc và nó hoạt động hoàn hảo. Tôi hy vọng nó sẽ giúp ai đó ra khỏi đó

0

Trong trường hợp WSS 3.0 gần đây tôi gặp phải sự cố tương tự. Đó là vì cột được truy cập từ mã không có trong danh sách wss.

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