DropdownList中,绑定好this.DropDownList1.DataTextField   =   "名称"; 
this.DropDownList1.DataValueField   =   "编号";当绑定好面的列名称            编号
裁切      75
钻孔      75
成型     75
镭射         75
然后我前台选择“钻孔”,DropDownList1.Text竟然是裁切!求解

解决方案 »

  1.   

    this.DropDownList1.DataValueField = "编号";
    -------------------------------------------------
    text是靠value来识别的
    这个要求你的编号必须各不相同,否则会被认为第一个编号为75的“裁切”就是你的选择项。
      

  2.   

    哥们 你的 Value都是  75 估计默认选择了第一 75 的文本了,
      

  3.   

    我经常这么干:
    把Dropdown list绑定到一个ObservableCollection<T>对象上面。
    然后Dropdown list的DataContext指向T这个对象然后用SelectedItem来指定、获得当前选项。
      

  4.   


    纠正一下:是Dropdown list的每一个选项的DataContext指向T类型的对象
      

  5.   

    不是微软的控件的bug,是你还没学会怎么用这个控件。
      

  6.   

    this.DropDownList1.SelectedItemvar obj = document.get...('控件名称');
    var getValue = obj.options[obj.selectedIndex].text; 
     
      

  7.   

    value和text就像键值对一样,
    通过其他方式来处理吧,编码既然都一样没有放到value中的必要吧
    或者处理成 index:编号 这样,来区分value
      

  8.   

    个人认为,DropDownList1.DataValueField它是属于Value,而不是ID,所以Value值应该是允许重复的所以我说这是一个Bug!元芳,你怎么看?
      

  9.   

    看下客户端的 HTML源代码<select name="DropDownList1" onchange="javascript:setTimeout('__doPostBack(\'DropDownList1\',\'\')', 0)" id="DropDownList1">
        <option selected="selected" value="75">裁切</option>
        <option value="75">钻孔</option>
        <option value="75">成型</option>
        <option value="75">镭射</option>
    </select>DropDownList 是呼叫 __doPostBack 函式,只传入 eventTarget参数 (对应到 __EVENTTARGET 这个 HiddenField) 为 DropDownList 的 ClientID;当 PostBack 回伺服端时,在 DropDownList 的 LoadPostData 方法中,会取得客户端选取的 SelectedValue 值,并去寻找对应的成员的 SelectedIndex 值。可是问题来了,因为  "裁切"与"钻孔"  的 Value 是相同的值,当在寻找符合 Value 值的成员时,前面的选项 "裁切" 会先符合条件而传回该 Index 值,所以先造成取得错误的 SelectedIndex 。
      

  10.   

    this.DropDownList1.DataTextField = "名称";  
    this.DropDownList1.DataValueField = "名称";活人还能被尿憋死
      

  11.   

    现在的年轻人怎么动不动就能发现微软的Bug?这么利害?DownDropList最重要的是Value,结果你的Value都是一样,那你管人家给你的Text是什么?
      

  12.   

    兄台 这叫bug 你还是回家在学学吧 
      

  13.   


    微软有说Value必须不同吗,没有的话就是Bug!
      

  14.   

    你没放在IsPostBack里吧,选择一次页面就刷新一次,所以没次都是第一个(默认设置的)
      

  15.   


    这个不是微软说了算的, 你应该问为什么W3C标准不明确说Value必须不同。
      

  16.   

    你这个value的值怎么都是重复的,重复的你叫微软怎么知道你选的哪个75??无奈它只有选择第一个了。这个也bug?明明是你用法不对啊。
      

  17.   

    LZ 你简直就是BUG般的存在,HTML不过关也不用再这里当BUG吧--!
      

  18.   

    我晕,你把Value都设置成一样了!!!
    我想微软不是解决不了你这个问题,而是解决你这个问题写一堆逻辑,浪费电!!!
      

  19.   

    微软BUG确实不少,补丁也是补了又补,但你也不能这么调侃人家吧,哈哈!
      

  20.   

    以后向这种问题,直接跨洋Email给Gates,让他别忙着跑慈善了
      

  21.   


    W3C没有错误。它根本不可能“明确说”“当value相同时必须匹配第二个value”。
      

  22.   

    这个不是 微软的bug
    是你自己的bug
    value 怎么可能相同呀。、
    着个对应的应该是 你数据库中的  id  和 name 吧
    以你的逻辑、在在下看来、这个应该是 数据库方面的bug  问问 为什么 没设置主键ID的时候  id列是可以重复的吧 
     问问 为什么 没设置主键自动增长 .....
    我勒个去、这个居然能当初 bug 你也好意思说出口
    弱弱的问一下、、如果设置了 主键ID 但是没有设置 自动增长
    那么 新插入数据的ID 应该是几?
      

  23.   

    你说的是没错 value是可以重复 但是他是以key-value的形似存在 你拿value当key用 所以才会这样
      

  24.   


    编程的东西不是想当然的...你要搞清楚DropDownList这个控件
      

  25.   

    什么都不会就知道说bug,现在的年轻人啊
      

  26.   

    见惯做惯大bug,就什么都不是bug了,现在的老年人啊
      

  27.   

    我觉得各位不应该嘲笑楼主,刚学编程的时候有这种错误的看法很正常,敢于在csdn上面提出来勇气是可嘉滴。
      

  28.   

    遇到这样不结贴的人 真悲剧, 都告诉他 直接 吧 Value 都设置成  75 了 会默认选择第一个, 还在这讨论什么 散了吧。 就 20都不给的 鸟人。
      

  29.   

    [Quote=引用 34 楼  的回复:]
    你说的是没错 value是可以重复 但是他是以key-value的形似存在 你拿value当key用 所以才会这样就是这样的
      

  30.   

     奸商、、、看见 MT 没。
    劣人着孙子也不知道跑哪去了
    镁铝 和 女盗贼 肯定又出气搞基了、
     啊、、怎么没看见小三、、奸商快点说 MT 是不是和小三出去了
    不说 老娘电死你
      

  31.   

    标题党。... 打字手疼,CSDN可以开发语音输入功能吗
      

  32.   

    微软的确不少BUG  不过这个不是  笑看此贴 不做解答  
    下楼 元芳怎么看
      

  33.   

    不算 bug 吧,只能 算 设计,问题。因为 你的值,是一样的。他会通过 值找 txt譬如: 编号  值得
           张3   1
          张3   2
          张3   3
    这时 是正确的
    譬如: 编号  值得
           张1   1
          张2   1      
          张3   1
          这时 是错误的获取 定位 选项,因该 text 加 vlaue 才对但是 所有的 语言 都是 通过值 定位 text的
      

  34.   

    bug你妹,吃多了没事干吧。