ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
一种对ASP.NET下拉列表存取的比较鲁棒和直接的办法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

对于很多ASP.NET的初学者来说,对于下拉列表框的处理总是感觉有种别扭的感觉,特别是对于有空值和处理数字的情况,多数初学者稳健起见选择使用SelectedIndex,虽然不会造成错误,但是给处理增加了麻烦,在此介绍一些本人使用DropDownList的一些心得:

1、对于数字,比如月份,显示如01、02、……,有两种方法,一种直接使用DropDownList的Items.FindText()方法,但是要注意判断的值如果找不到就不能引用该Item对象,例如:

从数据库读出string strMonth;
下拉列表框:protected System.Web.UI.WebControls.DropDownList DropMonth;

然后这样写就行了if(DropMonth.Items.FindByText( strMonth ) != null ) { DropMonth.Items.FindByText( strMonth ).Selected = true } else { //给出错误信息,或者对于将0元素置为空元素,那么就可以DropMonth.SelectedIndex = 0; }

2、设置Value来定义不同的元素,在Text和Value之间建立映射。
比方说学生的三个级别,空,本科生,硕士生,博士生分别定义成  (Text, Value) ””, 0 ; ”本科生”,1 ; “硕士生”, 2; “博士生”,3。这样数据库里就可以保存Value了,读出来之后只要像上述一样,只是FindByText改成FindByValue。

3、两种方法在保存数据库时方式大概相同:Month = DropMonth.SelectedItem.Text.Trim();//之前要保证SelectedIndex != 0;
Student = DropStudent.SelectedItem.Value;
要注意这里的Value并不是int型,所以如果数据库里是int型需要Convert.ToInt32(Student)
读出来也要这样dr[“Student“].ToString(), //DataRow dr

总结:总体来说上面的方法是最为简洁快速的方法,特别是数据库字段比较多的时候,这个可以大大减轻编码人员的复杂度和负担,对于初学者尤为重要。


相关文章

相关软件