为了账号安全,请及时绑定邮箱和手机立即绑定

下拉列表的新text 和 value的讨论

下拉列表的新text 和 value的讨论

交互式爱情 2018-12-17 18:09:43
<P><SPAN id=span_1360>name id<BR>网络&nbsp; 1<BR>汽车&nbsp; 2<BR>动物&nbsp; 3<BR>摄影&nbsp; 4<BR>影视&nbsp; 5<BR>数据库中存储的是id,页面显示的时候需要显示name。大家是在程序逻辑里面处理的还是在数据库中查询处理。<BR></SPAN><SPAN>如果是多选列表的情况又怎么处理比较方便呢。是在数据库中存储为1,2,3呢还是存成外键关联的三行数据呢。这时候显示需要是 网络,汽车,动物。<BR>很久以前就在为这个问题困扰了。一直没发现比较优美的解决方案。看了些开源的。有很多都是 text 和 value一样的。</SPAN><SPAN><BR>大家平时都是怎么做的呢。<BR></P></SPAN>
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

除非可以非常确定这个列表不会改变,否则都应该写到数据库里去,作为一个字典表存在。 多选的话,我觉得还是生成外键比较好,一般都是一个产品属于多个分类时才用得到,这时候在产品和分类之间有个map表 具体情况具体分析了,也有一些是写到.xml配置中的,但不能写在web.config中,否则累死人

查看完整回答
反对 回复 2018-12-21
?
MMTTMM

TA贡献1869条经验 获得超4个赞

 A表(类型参数表) name id 网络 1 汽车 2 动物 3 摄影 4 影视 5 B表(使用A表的数据表) id Aid Name 1 2 凯迪拉克 2 2 皇冠 3 1 博客园 4 1 微软官方网站 5 3 狼和羊的故事 6 3 猫和老鼠的事 7 5 新片介绍 8 5 老片回顾 9 4 风景照 10 4 全家福 为何在此存入A表的id而不是A表的Name呢?使用表之间的约束,能够减少表之间的冗余数据,保证数据完整性,如果你使用A表的Name,那么会产生数据冗余,并且在A表发生更新时去修改B表中A表的Name(除非你觉得没必要修改),这样就产生了很多复杂的过程! 至于下拉选择框中的Text和Value,你可以将Text绑定到A表的Name列,而Value绑定到A表的id,这样在更新或查询B表时,只需要用下拉选择框的Value作为值或查询条件,就能很好的完成! 附:上面就是我使用此方法后在数据库B表的数据存储形式!

查看完整回答
反对 回复 2018-12-21
  • 2 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信