[討論] 關於ASP.NET的DropDownList
最近才發現微軟的DropDownList有很奇怪的問題
就是Text不同~但Value相同就出問題了~它永遠只會找到第一個Value
範例很簡單~將Text和Value設定如下:
張三 1
李四 2
王五 1
這時如果我選了李四~很自然SelectedIndex和SelectedValue是得到1和2
可是如果我選了王五~那index和value就會得到0和1...
這未免也太奇怪了吧...
因為主管曾告訴我一句話:通常你不會是第一個遇到這種問題
所以我就上網Google了...
果然...早在2005年就有大陸人的討論
直到2008年10月才看到台灣人把dropdownlist控制項方法Overrides掉的解法
(到底是誰解的~不是重點~我不想討論那個XD 麻煩不要針對這個發言)
這...會不會太誇張了?
明明控制項提供的方法名稱就叫做SelectedIndexChanged
在__doPostBack時卻是回傳value值...
VS都已經出到2008了~這個問題還要使用者自己解決?
難道使用者不能很單純的設計一個不同東西但是同樣價錢的選單?
沒寫過jsp之前~我可能會覺得這不太像bug
寫過jsp和javascript後~我會覺得...用value判斷選到哪個~還真是天才...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.162.181
※ 編輯: andymai 來自: 114.33.162.181 (08/22 01:16)
推
08/22 03:07, , 1F
08/22 03:07, 1F
→
08/22 03:08, , 2F
08/22 03:08, 2F
→
08/22 03:09, , 3F
08/22 03:09, 3F
推
08/22 03:12, , 4F
08/22 03:12, 4F
→
08/22 03:12, , 5F
08/22 03:12, 5F
推
08/22 16:53, , 6F
08/22 16:53, 6F
推
08/22 20:14, , 7F
08/22 20:14, 7F
→
08/22 22:19, , 8F
08/22 22:19, 8F
推
08/23 04:59, , 9F
08/23 04:59, 9F
→
08/23 04:59, , 10F
08/23 04:59, 10F
→
08/23 05:04, , 11F
08/23 05:04, 11F
那...請問樓上是怎麼做?用javascript拿到index後存在某個欄位再傳回去嗎?還是?
※ 編輯: andymai 來自: 114.33.162.181 (08/23 15:41)
推
08/23 16:25, , 12F
08/23 16:25, 12F
→
08/23 16:26, , 13F
08/23 16:26, 13F
→
08/23 16:27, , 14F
08/23 16:27, 14F
→
08/23 16:28, , 15F
08/23 16:28, 15F
→
08/23 16:28, , 16F
08/23 16:28, 16F
→
08/23 16:29, , 17F
08/23 16:29, 17F
→
08/23 16:30, , 18F
08/23 16:30, 18F
→
08/23 16:30, , 19F
08/23 16:30, 19F
→
08/23 16:31, , 20F
08/23 16:31, 20F
您的解法其實跟我說的overrides掉的解法很像~都是在onChange上做手腳
取代原來的__doPostBack
→
08/23 16:32, , 21F
08/23 16:32, 21F
→
08/23 16:33, , 22F
08/23 16:33, 22F
→
08/23 16:34, , 23F
08/23 16:34, 23F
這個解法畢竟是偷雞...個人不會採用這個來增加自己的困擾XD
謝謝您的分享
※ 編輯: andymai 來自: 114.33.162.181 (08/24 00:43)
→
08/24 11:13, , 24F
08/24 11:13, 24F
?為啥?願聞其詳...
※ 編輯: andymai 來自: 220.130.243.97 (08/24 12:19)
→
08/24 13:35, , 25F
08/24 13:35, 25F
所以如果使用者說他要弄一個這樣的選單~那該怎麼辦?
真的有自己動工的必要?弄得跟自己寫自己撈一樣麻煩
.net自家的控制項還有它的價值...?
我只是要一組對的text和value而已啊...
→
08/24 13:36, , 26F
08/24 13:36, 26F
但因為這樣使得.net連Text都弄錯了~連原來指向什麼都不知道
那使用者在點了選項的同時~不改寫就沒辦法知道他點了哪個東西?
用index或許不太對~那沒有辦法中的辦法~至少也該把Text一併傳回來吧...
好笑的是~方法名稱還取成"SelectedIndexChanged"...
推
08/24 17:07, , 27F
08/24 17:07, 27F
還好吧...我只是看到人家寫的控制項不好用而已...
之前寫Jsp就用學長寫好的tag library...
學長沒寫~還是自己動手啊...
※ 編輯: andymai 來自: 114.33.162.181 (08/24 22:52)
推
08/25 15:38, , 28F
08/25 15:38, 28F