绑定的Dropdownlist怎么去实现编辑页面下Dropdownlist读取数据源值的问题

      标题很长,读起来可能模糊一大片人。但是我想表达的这个问题倒是一个很实用也可能是很常见的问题。

      比如说有一个添加订单的页面有一个下拉框,此下拉框就是dropdownlist了,但是这个下拉框是绑定数据源,而不是通常用的静态集合。

      添加了一个订单,当然会出现修改订单的情况了,而也正因如此,引出今天这个问题。就是在编辑的页面里面怎么让下拉框去读取存到数据库里面的下拉框选定的值在编辑页面被选中而显示出来。

      由于我之前都是用手动的方式给下拉框绑定数据源,用所见即所得的手段来解决大多基础问题。而正因为如此,一条非常实用的语句,在我这边则出现没有引用的异常。语句如下:

ddlVendor.Items.FindByValue(dr["vendor"].ToString()).Selected = true;
其实,ddlVendor就是下拉框的id值,dr["vendor"].ToString()是添加订单中下拉框被选中的值。本来这条语句是完全正确的,可是在菜鸟身上就犯难了,在调试过程中,老是发现ddlVendor.Items.Count是为0(ddlVendor.Items.FindByValue(dr["vendor"].ToString())这个为null,而加上.selected则为出现没有引用的异常),明明下拉框所绑定的数据源是有数据的,为什么此处老是没有得到数据呢?

      在经过一番痛苦的思索之后,柳暗花明又一村,原来是数据源还没有绑定好,为什么这么说呢,原因是后台在执行页面加载时数据源还没有绑定好,我就去判断里面的值,从而导致错误的出现。因为我不是通过代码在后台绑定,而是手动绑定。也正因为如此,它的绑定是在页面加载之后才去绑定,具体是在什么时候,I don't know。

      知道问题的原因之后,解决方法就随之而来了,那就是需要在后台里绑定数据源,然后把此方法放在上面的语句前面执行就OK了。

绑定的方法类似如下:

从代码当中,可以看出它不需要数据源的ID的,它只需要下拉框的ID,就能实现绑定的功能了。如果你手动绑定的话,删除了数据源控件之后,也需要删除下拉框当中的数据源id值。

      大概这就是我今天所遇到的问题,哦,是昨天了,现在已经是第二天了。好了,文章写到这里,可以准备睡觉了。晚安,各位!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值