DropdownList中,绑定好this.DropDownList1.DataTextField = "名称";
this.DropDownList1.DataValueField = "编号";当绑定好面的列名称 编号
裁切 75
钻孔 75
成型 75
镭射 75
然后我前台选择“钻孔”,DropDownList1.Text竟然是裁切!求解
this.DropDownList1.DataValueField = "编号";当绑定好面的列名称 编号
裁切 75
钻孔 75
成型 75
镭射 75
然后我前台选择“钻孔”,DropDownList1.Text竟然是裁切!求解
-------------------------------------------------
text是靠value来识别的
这个要求你的编号必须各不相同,否则会被认为第一个编号为75的“裁切”就是你的选择项。
把Dropdown list绑定到一个ObservableCollection<T>对象上面。
然后Dropdown list的DataContext指向T这个对象然后用SelectedItem来指定、获得当前选项。
纠正一下:是Dropdown list的每一个选项的DataContext指向T类型的对象
var getValue = obj.options[obj.selectedIndex].text;
通过其他方式来处理吧,编码既然都一样没有放到value中的必要吧
或者处理成 index:编号 这样,来区分value
<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 。
this.DropDownList1.DataValueField = "名称";活人还能被尿憋死
微软有说Value必须不同吗,没有的话就是Bug!
这个不是微软说了算的, 你应该问为什么W3C标准不明确说Value必须不同。
我想微软不是解决不了你这个问题,而是解决你这个问题写一堆逻辑,浪费电!!!
W3C没有错误。它根本不可能“明确说”“当value相同时必须匹配第二个value”。
是你自己的bug
value 怎么可能相同呀。、
着个对应的应该是 你数据库中的 id 和 name 吧
以你的逻辑、在在下看来、这个应该是 数据库方面的bug 问问 为什么 没设置主键ID的时候 id列是可以重复的吧
问问 为什么 没设置主键自动增长 .....
我勒个去、这个居然能当初 bug 你也好意思说出口
弱弱的问一下、、如果设置了 主键ID 但是没有设置 自动增长
那么 新插入数据的ID 应该是几?
编程的东西不是想当然的...你要搞清楚DropDownList这个控件
你说的是没错 value是可以重复 但是他是以key-value的形似存在 你拿value当key用 所以才会这样就是这样的
劣人着孙子也不知道跑哪去了
镁铝 和 女盗贼 肯定又出气搞基了、
啊、、怎么没看见小三、、奸商快点说 MT 是不是和小三出去了
不说 老娘电死你
下楼 元芳怎么看
张3 1
张3 2
张3 3
这时 是正确的
譬如: 编号 值得
张1 1
张2 1
张3 1
这时 是错误的获取 定位 选项,因该 text 加 vlaue 才对但是 所有的 语言 都是 通过值 定位 text的