2013-02-22 26 views
0

當使用javascript/ajax根據組合框A中的選擇重新填充ComboBox B中的選項時,選擇一個項目B中與索引>原設定指標導致錯誤:JS populated AJAX ToolKit ComboBox會導致錯誤:「SelectedIndex無效,因爲它不存在於項目列表中」

「‘...’有SelectedIndex的,因爲它不會在項目列表中存在哪些無效 參數名稱:值」

很明顯,組合框仍然會鏈接回它們的原始數據源,無論javascript做什麼,所以有問題,它認爲項目1是x,當它真的是y或項目2不存在時。至少這就是我從類似的帖子中獲得的。我沒有得到的是一個解決方案,我...

+0

在回發或客戶端發生此錯誤嗎? – 2013-02-22 22:18:01

回答

0

如果您的ComboBox B最初由數據綁定填充,您的ViewState將反映這一點,並且您的ComboBox B將從ViewState中的信息重新填充在回發。所以你的SelectedIndex大於原始數量的項目會混淆掉它。

(組合框的內容不回發:剛纔所選擇的項目,所以它不是要知道你做了什麼客戶端的東西。)

可能的選項包括:使用一個UpdatePanel更新您的組合框而不刷新整個頁面,或者使您的ComboBox B成爲一個普通的HTML select,從客戶端(通過Ajax?)完全填充它並在回發後從服務器端的Forms集合中獲取其值。

+0

感謝您的建議。不使用組合框不是一個選項壽,因爲事情應該總是比必要的困難,幾乎沒有任何回報。除此之外,我喜歡你的第二個建議。 一旦我開始查看錶單集合以及如何確定實際選擇的內容,我就更加明顯的看到,我只需要爲它提供足夠的服務器端項目,以確保沒有索引超出範圍錯誤,然後使用它(幾乎)專有客戶端。將它填充到服務器端然後立即在客戶端上填充是有點浪費的,但是完整的選項列表很小,所以它不是問題 – user1566694 2013-02-25 19:26:48

相關問題