关于ASP.NET控件DropDownList控件的问题
生活随笔
收集整理的這篇文章主要介紹了
关于ASP.NET控件DropDownList控件的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家都知道DropDownList的兩個重要的屬性吧:
SelectedIndex
SelectedValue
通常我們在頁面的postback時,讀取這兩個屬性,對用戶的選擇做出處理。
ASP.NET封裝了這兩個屬性,但是我發現了一個問題:就是在有的時候,SelectedIndex不能返回我們期待的結果!
DropDownList的Items包括ListItem對象,ListItem有Value和Text兩個屬性,很多時候兩者是不同的,
例如,某個DropDownList包含以下選項:
當用戶選擇蘋果時,在Postback時,SelectedValue的值是:0,SelectedIndex的值是:0
當用戶選擇葡萄時,在Postback時,SelectedValue的值是:0,SelectedIndex的值是:還是0!而不是5!
我不知道這是不是算作bug,可能是ASP.NET通過SelectedValue的值來“計算”出SelectedIndex的值,而不是DropDownList真正選中的值。
所以,盡量避免在DropDownList包括相同Value的項,小心處理,避免出錯。
SelectedIndex
SelectedValue
通常我們在頁面的postback時,讀取這兩個屬性,對用戶的選擇做出處理。
ASP.NET封裝了這兩個屬性,但是我發現了一個問題:就是在有的時候,SelectedIndex不能返回我們期待的結果!
DropDownList的Items包括ListItem對象,ListItem有Value和Text兩個屬性,很多時候兩者是不同的,
例如,某個DropDownList包含以下選項:
| Value | Text |
| 0 | 蘋果 |
| 1 | 鴨梨 |
| 2 | 香蕉 |
| 3 | 草莓 |
| 4 | 柑橘 |
| 0 | 葡萄 |
| 1 | 木瓜 |
當用戶選擇蘋果時,在Postback時,SelectedValue的值是:0,SelectedIndex的值是:0
當用戶選擇葡萄時,在Postback時,SelectedValue的值是:0,SelectedIndex的值是:還是0!而不是5!
我不知道這是不是算作bug,可能是ASP.NET通過SelectedValue的值來“計算”出SelectedIndex的值,而不是DropDownList真正選中的值。
所以,盡量避免在DropDownList包括相同Value的項,小心處理,避免出錯。
轉載于:https://www.cnblogs.com/jlzhou/archive/2005/04/28/147037.html
總結
以上是生活随笔為你收集整理的关于ASP.NET控件DropDownList控件的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 满有趣的屏幕快捷键;)
- 下一篇: Visual Studio .NET 2