DropDownList动态添加新项并位于第一项 ASP.NET控件应用

今天做一个查询功能时遇到了一个问题,是这样的:

我要用DropDownList来绑定数据库里查询出来的类型数据,如下图:想在这两个类型之上再增加一个“全部留言”的项,因为查询条件应该有查询全部类型的留言。尝试了三种方式,最后终于实现了,不多说了,“上菜啦……”

 

 

一、直接绑定数据:

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"//文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"//值字段
5 DropDownList1.DataBind();

 

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="1">网站建议</option>
3         <option value="2">教学相关</option>
4     </select>

 

缺少了,不选择类型时的“全部留言”这个选项。这不符合我的要求,于是Search了一下网络资源,发现有用DropDownList1.Items.Add(new ListItem("全部留言","0")),这种方法的,于是修改代码如下:

 

二、用 DropDownList1.Items.Add() 方法动态添加一项:

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"//文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"//值字段
5 DropDownList1.DataBind();
6 DropDownList1.Items.Add(new ListItem("全部留言","0")); //动态添加新项

 

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="1">网站建议</option>
3         <option value="2">教学相关</option>
4         <option value="0">全部留言</option>
5     </select>

 

“全部留言”被放置到了最后一项,这也不是我想要的效果,于是再次Web Search后,找到了解决办法,请看下面的代码:

 

三、用 DropDownList1.Items.Insert() 方法动态插入指定序号的新项

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"//文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"//值字段
5 DropDownList1.DataBind();
6 //DropDownList1.Items.Add(new ListItem("全部留言","0")); //动态添加新项
7 DropDownList1.Items.Insert(0,new ListItem("全部留言","0")); //动态插入指定序号的新项

 

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="0">全部留言</option>
3         <option value="1">网站建议</option>
4         <option value="2">教学相关</option>
5     </select>

 

这样就实现了想要的样式,最终还是DropDownList1.Items.Insert(0,new ListItem("全部留言","0"));方法解决了问题。最终效果如下图:

 

 
 

转载于:https://www.cnblogs.com/leospace/archive/2010/01/21/1653269.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值