哼哼哈嘿-关于ListBox和DropDownList
来源:互联网 发布:世界银行预测数据 编辑:程序博客网 时间:2024/04/30 10:13
这是刘宁童鞋发现的问题,我以前从未注意过,经过共同努力,终于搞定。
我们一般使用下面这种方式,未这两个控件赋值:
this.ListBox1.Items.Add(new ListItem("哈哈", "1")); this.ListBox1.Items.Add(new ListItem("哼哼", "1")); this.ListBox1.Items.Add(new ListItem("嘿嘿", "1"));
大家注意这个ListItem类在实例化时,需要两个参数,一个是text值,一个是value值。当这几项的value值相同或者都为空时就会出现问题,先看界面布局:
然后上代码:
public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetValue(); } } private void GetValue() { this.ListBox1.Items.Add(new ListItem("哈哈", "1")); this.ListBox1.Items.Add(new ListItem("哼哼", "1")); this.ListBox1.Items.Add(new ListItem("嘿嘿", "1")); } protected void Button1_Click(object sender, EventArgs e) { ClientScript.RegisterStartupScript(GetType(), "dd", "<script>alert('" + this.ListBox1.SelectedItem.Text + "')</script>", false); }}
上面程序的功能就是在页面加载时为ListBox控件加载三项“哼哼”,“哈哈”,“嘿嘿”。单击按钮显示我们选中的项目,比如,选中“哈哈”,执行结果如图:
再选中“哼哼”,执行结果如下图:
问题出来了,无论你选择任意一项,单击按钮后,选中和显示的都会事第一项“哈哈”。这是为什么呢?
经过我们的努力,终于搞明白了,用户点击按钮,回传到服务器,程序会分析用户选中的是第几项,而程序是如何判断用户选中的项目呢?事实上是根据项目的索引,而如何判断项目的索引呢,事实上是根据每一项的value值。OK,如我们上面那样,所有的VALUE值都一样,那么程序就会认为用户选中的为第一项。这个道理也适用于value值为空字符串的情况下。
虽然我上面一直使用“事实上”,但是这也只是我们的猜测而已。但是我想,离真相已经不远了。
- 哼哼哈嘿-关于ListBox和DropDownList
- 哼哼哈嘿
- 哼哼哈嘿
- DropDownList 和ListBox产生的联动效果
- 列表控件(DropDownList,ListBox和BulletedList)
- DropDownList 和ListBox选中显示方法区别
- 在DropDownList和ListBox中绑定枚举
- 列表控件(DropDownList,ListBox和BulletedList)
- DropDownList和ListBox控件实现数据联动
- 哼哼
- 哼哼
- Asp.net MVC3 关于@Html中ListBox、DropDownList使用
- Asp.net MVC3 关于@Html中ListBox、DropDownList使用
- ListBox和DropDownList遍历控件获取SelectedIndex属性
- 将枚举绑定在下拉框DropDownList和ListBox中
- 使用DropDownList控件和ListBox控件创建聊天室
- 遍历 DropDownList ListBox
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- 设计模式学习笔记之Flyweight模式(享元模式)
- windows下markdown安装与应用
- tju 3219& hdu2295(Dancing Links重复覆盖模板题)
- 天晴朗
- 英语 单词 短语 笔记
- 哼哼哈嘿-关于ListBox和DropDownList
- Python抓取糗事百科邀请码
- UML各种图
- 字符,字节和编码
- Bash 使用技巧大补贴
- 软件学院“SIdea”软件创意大赛
- 无法通过128扩展temp段
- Bellman-Ford算法(转自http://www.cppblog.com/infinity/archive/2008/11/11/66621.html)
- hdu 1106