2010-07-07 41 views
1
selectCourseList.SelectedIndex=Convert.ToInt32(selectCourseList.Items.FindByValue(newStudentCourseId)); 

以下錯誤 無法轉換類型「System.Web.UI.WebControls.ListItem」的目的爲類型「System.IConvertible」付出。asp.net問題

我不明白什麼與此

+0

其實,我不明白,你想做什麼?是一個特定的PLS – 2010-07-07 11:59:01

+0

我有新加入的學生以字符串形式courseId「newStudentCourseId」,我已經在這,我想,當然選擇的指數設定爲新同學加入courseid – NoviceToDotNet 2010-07-07 12:02:42

回答

7
selectCourseList.Items.FindByValue(newStudentCourseId) 

以上是要給你一個列表項背,所以你不能使用Convert.ToInt32,然後設置索引你描述的方式。

而是嘗試:

selectCourseList.Items.FindByValue(newStudentCourseId).Selected = true; 
0

selectCourseList.Items.FindByValue(newStudentCourseId)將返回某些對象不支持System.IConvertible接口wwrong - 這樣的Convert.ToInt32調用失敗

selectCourseList.Items中有什麼類型的對象?

0

您可以將列表項不能轉換爲int。嘗試:

selectCourseList.SelectedIndex=selectCourseList.Items.IndexOf(selectCourseList.Items.FindByValue(newStudentCourseId)); 
+0

哦,太好了,還工作,感謝大衛 – NoviceToDotNet 2010-07-07 12:13:11

0

你是否認爲該項目的值是一個int類型? 你SUR,該方法FindByValue不返回空你的參數newStudentCourseId

+0

找到一個列表框通過值talkes字符串參數,所以我把它轉換成字符串類型的詭計我是得到它的int類型...但我不得不重新轉換它通過使用convertToInt32卻無濟於事什麼錯我沒有得到的成int類型,但是我已經得到解決我的通過觀察上述方案但你能告訴什麼是錯在這 – NoviceToDotNet 2010-07-07 12:09:49

0

我認爲像(未測試):

selectCourseList.SelectedIndex=-1; 
selectCourseList.Items.FindByValue(newStudentCourseId).Selected = true; 

其中newStudentCourseId是一個字符串representig你下拉的項目值。

+0

是真的,它的工作問題 – NoviceToDotNet 2010-07-07 12:11:33

+0

查找值talkes字符串參數,所以我把它轉換成字符串類型的詭計我是得到它的int類型...但我不得不重新轉換它爲int類型通過使用convertToInt32卻無濟於事什麼錯我沒有得到,但我已經通過上述方案得到了看到解決我的問題,但u能告訴這是什麼錯誤 – NoviceToDotNet 2010-07-07 12:12:02

0

當然,你需要的;

selectCourseList.SelectedIndex=selectCourseList.IndexOf(selectCourseList.Items.FindByValue(newStudentCourseId));