首页 > 布布扣 > 详细

DropDownList数据初始化,绑定,添加,插入首行,插入结尾,不触发SelectedIndexChanged事件,[asp.net基础]

时间:2014-12-02 16:51:38      阅读:10800      评论:0      收藏:0      [点我收藏+]

DropDownList,常用服务器控件。

数据绑定方式可以采用循环,使用Items的Add方法追个添加数据,也可以绑定DataTable或者dataset。数据的初始化一定要放在“IsPostBack”里边,要不在回发事件中就取不到值了(只能取第一条记录的值)。

1、循环添加数据

if (!IsPostBack)
{
    DropDownList1.Items.Clear();    //加入数据前先清空数据
    for (int i = 0; i < 10; i++)
    {
      DropDownList1.Items.Add(new ListItem("我是text" + i.ToString(), "我是value" + i.ToString()));
    }
}
2、读取数据库后绑定
if (!IsPostBack)
{
    DB _db = new DB();
    string _sql = "select * from bubufxDropdownlistTable";

    DataTable _DT = _db.GetDt(_sql);   //调用数据库操作方法获得DataTable

    DropDownList1.DataSource = _DT;
    DropDownList1.DataTextField = "name";   //指定数据库字段name为text
    DropDownList1.DataValueField = "ID";   //指定数据库字段ID为value
    DropDownList1.DataBind();
}
3、绑定完成数据后,插入首记录或者尾记录

插入首记录:

//绑定完成后向DropDownList1再加入数据,加在首行
DropDownList1.Items.Insert(0,new ListItem("加塞一个首记录","0"));
添加尾记录,两种方式:
//绑定完成后向DropDownList1再加入数据,加在尾行
DropDownList1.Items.Add(new ListItem("加塞一个尾记录", "1000"));

//绑定完成后向DropDownList1再加入数据,加在尾行
DropDownList1.Items.Insert(DropDownList1.Items.Count, new ListItem("加塞一个尾记录", "10000"));
4、DropDownList点击后触发事件

添加DropDownList1_SelectedIndexChanged事件,并在html中加入AutoPostBack="True"代码,这样选择DropDownList的item时就可以触发事件了。

5、获取DropDownList值

获得选中的值:”DropDownList1.SelectedValue“ 或者 “DropDownList1.SelectedItem.Value”

获得选中的text:DropDownList1.SelectedItem.Text

还可以:DropDownList1.Items[DropDownList1.SelectedIndex].Text,DropDownList1.Items[DropDownList1.SelectedIndex].Value

6、加入了AutoPostBack="True"仍然不触发DropDownList1_SelectedIndexChanged事件解决办法

这一般情况下是因为value的值有重复导致,比如添加数据时:

DropDownList1.Items.Add(new ListItem("我是text" + i.ToString(), "我是value"));

这样所有的alue都是“我是value”,这样是不会触发DropDownList1_SelectedIndexChanged事件的,或者其中有重复的,当前选中的和又选择的value是一样,这样也不会触发DropDownList1_SelectedIndexChanged事件。

msdn有一个解释:ListControl.SelectedIndexChanged 事件 ,当列表控件的选定项在信息发往服务器之间变化时发生。


DropDownList数据初始化,绑定,添加,插入首行,插入结尾,不触发SelectedIndexChanged事件,[asp.net基础]

(2)
(4)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!