绑定ASP.NET MVC DropDownList数据绑定及使用详解

dropdownlist 绑定  时间:2021-02-08  阅读:()

http://taskcn.blog. 163.com/

ASP.NET MVC DropDownList数据绑定及使用详解DropDownList控件用于创建下拉列表。 DropDownList控件中的每个可选项都是由ListItem元素定义的!该控件支持数据绑定

一 DropDownList

1. 1 DropDownList绑定数据

1. 1. 1 DropDownList固定绑定

这种方式适合那些已经固定的数据绑定到DropDownList上。

例

复制代码代码如下:asp:DropDownList runat="server" ID="ddlArea" Width="120px"asp:Listitem value="0"选择性别/asp:Listitemasp:Listitem value="1"男/asp:Listitemasp:Listitem value="2"女/asp:Listitem

/asp:DropDownList

1. 1.2 DropDownList动态绑定

前台

后台两种方法 注意每次绑定都要清除一下原来的记录例ddlArea. Items.Clear() ; 

第一种

复制代码代码如下:

SqlConnection conn = new

SqlConnection("server=. ;uid=sa;database=pubs") ;

SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn) ;DataTable dt = new DataTable() ;dap.Fill (dt) ;

DropDownList1. Items.Clear() ;

DropDownList1.DataSource = dt;

DropDownList1.DataTextField = "job_desc";

DropDownList1.DataValueField = "job_id";

DropDownList1.DataBind() ;

DropDownList1. Items. Insert(0, new ListItem("选择数据", "随机绑定") ) ;//插入默认项此举必须放到数据绑定之后效果

第二种

复制代码代码如下:

SqlConnection conn = new

SqlConnection("server=. ;uid=sa;database=pubs") ;

SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn) ;DataTable dt = new DataTable() ;dap.Fill (dt) ;if (dt.Rows.Count != 0)

{http://taskcn.blog. 163.com/

http://taskcn.blog. 163.com/

DropDownList1. Items.Clear() ;for (int i = 0; i dt.Rows.Count; i++)

{

DropDownList1. Items.Add(new ListItem(dt.Rows[i] ["显示值"] .ToString() ,dt.Rows[i] ["usbkey"] .ToString() ) ) ;

}

DropDownList1. Items. Insert(0, "选择网吧") ;

DropDownList1. Items[0] .Value = "0";或

// DropDownList1. Items. Insert(0, new ListItem("选择数据", "随机绑定") ) ;//插入默认项此举必须放到数据绑定之

}else

{

DropDownList1. Items. Insert(0, "无网吧记录") ;

DropDownList1. Items[0] .Value = "0";

}

二 DropDownList1的取值问题

2. 1取DropDownList1的索引值也就是选择value值asp:Listitemvalue="1"男/asp:Listitem取1

.net中DropDownList1.SelectedValue.ToString()javascirpt varddl1=document.getElementByIdx_x("DropDownList1") . selectedIndex;

2.2取DropDownList1的选项也就是选择item值asp:Listitem value="1"男/asp:Listitem取男

.net中DropDownList1.SelectedItem.ToString() ;javascriptdocument.getElementByIdx_x("DropDownList1") .options[document.getElement("selectID") . selectedIndex] .value

三 DropDownList1事件问题

重点:使用OnTextChanged,OnSelectedIndexChanged事件时必须设置复制代码代码如下:asp:DropDownList runat="server"

OnTextChanged="DropDownList1_TextChanged"OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"

OnTextChanged,OnSelectedIndexChanged这两个事件具体有什么区别我也没测试出来只知道OnSelectedIndexChanged这个事件要比OnTextChanged执行的早也就是如果这两个事件都存在会首先执行OnSelectedIndexChanged这个事件然后才执行OnTextChanged.

四如何避免DropDownList下拉框中的值重复添加

AppendDataBoundItems是否填加重复值。真为添加假为不填加

原因 DropDownList控件AppendDataBoundItems属性设置为"True"了的改为False即可。http://taskcn.blog. 163.com/

http://taskcn.blog. 163.com/

例如如果专业后的DropDownList控件AppendDataBoundItems属性设置为"True"那么选择院系后专业里的值会不断添加。

五区别

复制代码代码如下:depart_ddl. Items. Insert(0,new ListItem("不选该项", "0") ) ;这是在首项添加数据。

Items.Add是在最后添加

DropDownList1. Items.Add(new ListItem("Text", "value") ) ;是在最后添加DropDownList1. Items. Insert(Index,new ListItem("Text", "value") ) ;这是在首项添加数据。

六从数据库中读取数据并绑定到DropDownList中

复制代码代码如下:if (ds.Tables[0] .Rows[0] ["State"] .ToString ()=="True")

{

DropDownListState. Items.FindByValue("1") .Selected =true;

}else

{

DropDownListState. Items.FindByValue("0") .Selected =true;

}http://taskcn.blog. 163.com/

hostio荷兰10Gbps带宽,10Gbps带宽,€5/月,最低配2G内存+2核+5T流量

成立于2006年的荷兰Access2.IT Group B.V.(可查:VAT: NL853006404B01,CoC: 58365400) 一直运作着主机周边的业务,当前正在对荷兰的高性能AMD平台的VPS进行5折优惠,所有VPS直接砍一半。自有AS208258,vps母鸡配置为Supermicro 1024US-TRT 1U,2*AMD Epyc 7452(64核128线程),16条32G D...

麻花云:3折优惠,香港CN2安徽麻花云香港安徽移动BGP云服务器(大带宽)

麻花云在7月特意为主机测评用户群定制了促销活动:香港宽频CN2云服务器、安徽移动云服务器(BGP网络,非单线,效果更好)、安徽移动独立服务器、安徽电信独立服务器,全部不限制流量,自带一个IPv4,默认5Gbps的DDoS防御。活动链接:https://www.mhyun.net/act/zjcp特价云服务器不限流量,自带一个IPv4,5Gbps防御香港宽频CN2全固态Ⅲ型 4核4G【KVM】内存:...

VPSDime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...

dropdownlist 绑定为你推荐
discuzntBbsMAX 和 Discuz!NT 那个好啊?weipin唯品会的唯品币是干什么用的?bbsxp怎么用 CUTEFTP上传BBSXP到FTP服务器雅虎社区福建晋江社区是什么?微信如何建群微信建群怎么建arm开发板新手入门应如何选择 ARM 开发板?申请证书一、如何申请证书?奇虎论坛奇虎论坛最新推荐歌曲列表·bt封杀BT下载被封锁了,怎么办,下载不了电影了!宕机宕机是什么意思?
域名城 广州主机租用 香港vps主机 域名备案网站 万网域名解析 sharktech 服务器评测 directspace 表单样式 轻博 青果网 ftp教程 paypal注册教程 阿里云官方网站 数据库空间 免费asp空间申请 阵亡将士纪念日 攻击服务器 免备案cdn加速 七牛云存储 更多