价值不在预期范围内

我使用以下代码更新列表框,这是从Web服务接收列表 –

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

使用 –

 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); } 

这工作正常,因为我在加载子窗口时使用它,因此列表框从数据库中获取列表,但是当用户选择列表框中的一个项目时,他们可以选择编辑所选项目。 因此编辑就位,有一个编辑按钮,用于更新数据库中表格中的列。 然后在按钮单击时,我再次调用上述代码以使用新凭据更新列表框。 然而,这给bcak带来了错误 –

 "Value does not fall within the expected range." 

为什么我不能在按钮点击上调用web方法,因为它所做的就是刷新列表框???

这可能是因为您尝试向页面添加具有相同名称的ListBoxItem。

如果要使用新检索的值刷新列表框的内容,则必须先手动删除列表框的内容,否则您的循环将尝试再次创建lb_1并将其添加到同一列表中。

在这里查看Silverlight发生的类似问题:值不在预期的范围exception范围内

干杯,

我试图使用:工具 – > Windows Embedded Silverlight工具 – >更新Silverlight for Windows Embedded Project,从完全不同的原因得到Visual Studio 2008中同样的通知“值不在预期范围内”。

花了很多钱后我发现问题是没有资源文件,更新工具查找.RC文件

因此,解决方案是将资源文件夹添加到.RC文件中,而不是完美地工作。 我希望它会帮助那里的人

在WSS 3.0的情况下,我最近遇到了同样的问题。 这是因为从代码访问的列在wss列表中不存在。