“DropDownList1”有一個無效 SelectedIndex,因爲它不在項目列表中。

在做留言板的時候,選擇第幾頁要用到DropDownList服務器控件,在後代碼文件給他賦值,頁面一測試拋出一個異常,到底是什麼原因呢? 
異常如下:異常詳細信息: System.ArgumentOutOfRangeException: “DropDownList1”有一個無效 SelectedValue,因爲它不在項目列表中。 
     不知道大家有沒有遇到這樣的問題,我在網上找了一些資料,終於找到了解決方法,把方法寫下來,也給遇到和我同樣問題的人一個解決方法。 
不多說了,方法如下: 
     此屬性返回選定的 ListItem 的 Value 屬性。通常使用 SelectedValue 屬性確定列表控件中選定項的值。如果選定了多個項,則返回索引最小的選定項的值。如果未選定任何項,則返回一個空字符串 ("")。SelectedValue 屬性還可以用於選擇列表控件中的某一項,方法是用該項的值設置此屬性。如果列表控件中的任何項都不包含指定值,則會引發 System.ArgumentOutOfRangeException。 
只需這樣賦值:

            this.lblPageCur.Text = "1";
            this.DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue(this.lblPageCur.Text));

就是如果通過FindByValue沒有找到指定項則爲null,而Items.IndexOf(null)會返回-1.

 

 

原帖地址:http://www.cnblogs.com/lichang1987/archive/2008/10/02/1303163.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章