南京科技网站设计费用,化妆品网页设计素材,微信小程序平台官网,wordpress ckvideo今天打算学习下dropdownlist控件的取值#xff0c;当你通过数据库控件或dataset绑定值后#xff0c;但又希望显示指定的值#xff0c;这可不是简单的值绑定就OK#xff0c;上网搜了一些资料#xff0c;想彻底了解哈#xff0c;后面发现其中有这么大的奥妙#xff0c;可以… 今天打算学习下dropdownlist控件的取值当你通过数据库控件或dataset绑定值后但又希望显示指定的值这可不是简单的值绑定就OK上网搜了一些资料想彻底了解哈后面发现其中有这么大的奥妙可以通过很多种方法解决同样的问题下面详说 一、dropdownlist控件的值绑定方法 1 、直接输入item项 asp : DropDownList IDDropDownList1 runatserver asp:ListItem张三 /asp:ListItem asp:ListItem李四 /asp:ListItem / asp : DropDownList 这恐怕是最简单的看下面这种 2 、数据源控件绑定 asp : DropDownList IDDropDownList1runatserverDataSourceIDSqlDataSource1DataTextFieldnameDataValueFieldname /asp:DropDownList asp : SqlDataSource IDSqlDataSource1 runatserver ConnectionString%$ ConnectionStrings: ConnectionString % SelectCommandSELECT [name] FROM [yh]/asp:SqlDataSource 这种实用、方便写再看下面这种 3、使用dataset或datareader绑定控件以dataset为例 SqlDataAdapter da new SqlDataAdapter(select id,name from hy,conn); DataSet ds new DataSet(); da.Fill(ds); conn.Close(); DropDownList1.DataSource ds.Tables[0]; DropDownList1.DataTextField name; DropDownList1.DataValueField id; DropDownList1.DataBind(); 这种高级一点或许还有一些方法发现中 二、而实际应用中很多时候不是简单的一个绑定值那么简单例如当dropdownlist控件绑定值后而你又希望指定初始值就是显示的值例子很多就不举了下面是自己总结的几种方法(只放前后台主要代码) 第一种 前台代码 asp : DropDownList IDDropDownList1 runatserver asp:ListItem张三 /asp:ListItem asp:ListItem李四 /asp:ListItem / asp : DropDownList 后台代码 DropDownList1.Item.Inset(0,李四);//这是插入第一个值为李四 DropDownList.Items.FindByValue(李四).selected true;//这是调用findbyvalue方法指定初始值 第二种 前台代码 asp : DropDownList IDDropDownList1runatserverDataSourceIDSqlDataSource1DataTextFieldnameDataValueFieldname /asp:DropDownList asp : SqlDataSource IDSqlDataSource1 runatserver ConnectionString%$ ConnectionStrings: ConnectionString % SelectCommandSELECT [name] FROM [yh]/asp:SqlDataSource 后台代码 DropDownList1.SelectedValue 李四; //使用item方法貌似不行会提示没有引入实例错误 第三种 前台代码前面2种都可以 后台代码 DropDownList1.SelectedIndex 1;//通过控件索引来指定1代表第二个值 其实还有一种比较经常用到实例说明 ( 在此直观的说明 ) 实例问题绑定控件的值为id但显示为name同样首先指定默认值通过选项修改id 区别默认值是通过数据库数值或传的数据来指定的而不是指定一个默认字符串 解决方法 1、前台代码 asp : DropDownList IDDropDownList1 runatserver asp:ListItem张三 /asp:ListItem asp:ListItem李四 /asp:ListItem / asp : DropDownList 后台代码 protected void Page_Load( object sender, EventArgs e) { if (!IsPostBack) { string yhid Request.Params[ userid].ToString(); DropDownList1.Items.FindByValue(yhid).Selected true; } }//这里只是简单阐述如果是从dataset读出来的值是一样的效果 2、前台代码 asp : DropDownList IDDropDownList1runatserverDataSourceIDSqlDataSource1DataTextFieldnameDataValueFieldid /asp:DropDownList asp : SqlDataSource IDSqlDataSource1 runatserver ConnectionString%$ ConnectionStrings: ConnectionString % SelectCommandSELECT [id] [name] FROM [yh]/asp:SqlDataSource 后台代码 protected void Page_Load( object sender, EventArgs e) { if (!IsPostBack) { string yhid Request.Params[ userid].ToString(); DropDownList1.SelectedValue yhid; } } 3、或者可以通过sql语句直接读取id所对应的name就可以直接使用赋值了 三、DropDownList数据绑定第一项为空的方法 DropDownList1.DataSource ds.Tab les[0]; DropDownList1.DataTextFieldname; DropDownList1.DataValueField id; DropDownList1.Items.Insert(0,new ListItem()); 下面为备注说明 selectedindex获得的是选定项的索引,索引值是从0开始. selectedvalue是所有选择的值. selecteditem.value是获取索引值最小的选定项.如果是多选的情况下,selectedvalue和selecteditem.value就有这么点差别. selecteditem代表选定项,相当于一个对象,这个对象仍然会有其他的属性,比如checked,Attributes,value,而selectedvalue就是一个值,是一个字符串