大家都知道DropDownList的两个重要的属性吧:

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控件的问题相关推荐

  1. asp net夜话之八 数据绑定控件

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 通过前面 ...

  2. ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据...

    1.在.aspx页面拖入DropDownList控件 <label class="txt-green">校区:</label> <asp:DropDo ...

  3. 【ASP.NET】第八课——GridView 控件的编辑功能优化,GridView控件中嵌套DropDownList控件

    知识点:掌握 GridView 的编辑.高亮显示的功能 .GridView控件中嵌套DropDownList控件获取数据源. [ASP.NET]第七课--数据绑定和 GridView 控件的使用 重点 ...

  4. [ASP.NET]为什么CustomValidator验证控件在验证DropdownList的时候不能设置ControlToValidate属性...

    在使用ASP.NET Web Forms开发时,有时会给一些下拉控件,添加自定义验证,但由于对Validator使用的惯性,往往会设置它的ControlToValidate属性,如下代码所示: < ...

  5. C# ASP.NET DROPDOWNLIST控件绑定数据库,用DropDownList1.SelectedValue.ToString 读取的选项值始终是第一项的值的解决方法

    1.C# ASP.NET  DROPDOWNLIST控件绑定数据库,数据库内容如下 数据库有3个字段:id,name,map. 数据库只有1个表,表名为  table1 2.前台代码如下: <a ...

  6. GridView控件修改、删除示例(修改含有DropDownList控件)

    GridView控件修改.删除例子,修改时含有DropDownList控件. 示例运行效果图: GridViewUp.aspx文件代码: <%@ Page Language="C#&q ...

  7. asp.net学习之 数据绑定控件--List数据绑定控件

    List控件(如 CheckBoxList.DropDownList.ListBox 和 RadioButtonList 类)继承自ListControl类,不能直接创建 ListControl 抽象 ...

  8. DropDownList控件

    主要介绍:自定义数据.绑定数据库数据 DropDownList控件的使用跟CheckBoxList控件的使用差不多. 首先是前台代码(Default.aspx): 1 <asp:DropDown ...

  9. Asp.Net第二章服务器端控件

    服务器端控件 主要有:Label.TextBox.Button.RadioButton.CheckBox.RadioButtonList.CheckBoxList.HyperLink控件. 控件 La ...

最新文章

  1. bing浏览器_微软推出全新 Edge 浏览器,这 3 大特色亮点 Chrome 都没有
  2. 三巨头共聚AAA:ICapsule没有错,LeCun看好自监督,Bengio谈注意力
  3. 两年伯克利数学博士毕业,蝉联阿里数学竞赛金奖,张钺:我就是个普通人
  4. 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第九节)
  5. Waymo首次公开自动驾驶技术:让AI学会「危机想象力」
  6. Windows Phone 7 MVVM模式通讯方式之实现Command
  7. 【django】路由传递参数
  8. 判断jQuery选择器结果为空 - CSDN博客
  9. MySQL数据库事物隔离级别
  10. vue 加载太慢_如何提高Vue项目首页的加载速度
  11. 一篇文章教你学会实现模糊搜索结果的关键词高亮显示
  12. 为 NokiaQt SDK增加新的Sym“.NET研究”bian SDK开发平台
  13. Linux 目录结构及主要内容 2
  14. cmder 下载与简单设置
  15. iOS 适配iPhone XR/iPhone XS Max
  16. 普通二维码跳转微信小程序
  17. DownloadHelper使用教程
  18. B站手机APP缓存视频(m4s)转换为mp4格式
  19. 安装compiz-fusion
  20. 我赢助手手把手教您挖掘用户痛点、做到独一无二的定位

热门文章

  1. 解决JRebel对myBatis Mapper 失效的问题
  2. ROS学习笔记九:ROS工具
  3. .Net微信开发之通过UnionID机制,解决用户在不同公众号,或在公众号、移动应用之间帐号统一问题...
  4. gitlab与jenkins的自动化部署(通过webhook与ansible)
  5. webApp开发-功能模块开发流程
  6. TFboy养成记 多层感知器 MLP
  7. MYSQL5.5 YUM更新安装
  8. SQL Server 找回没有备份的数据
  9. ip代理服务器软件25探索云速捷_IP代理在实际使用过程中会面临的问题,如何准确挑选和使用代理IP...
  10. 【数字信号处理】序列傅里叶变换 ( 傅里叶变换实例 | 矩形窗函数 | 傅里叶变换 | 傅里叶变换幅频特性 | 傅里叶变换相频特性 )