开发工具与关键技术:VS,MVC
作者:陈梅
撰写时间:2019年7月12日
我们做MVC项目时,会时常遇到一些问题,而且这些问题点都不会很大,只是会稍微增加了一些代码量。就例如我接下来要分享的问题点。
通常我们做多条件查询的时候,都是用这种方式去做。但是,当在一个页面内查询条件需要用到同一个ID 与字段时,就会出现一个查得到数据,一个查不到数据。就会出现下面的那种情况。
我这里是点击汇总信息的时候,查询条件就会出现选择经理的下拉框和交接箱信息这个查询条件。当我点击无交接箱号码的时候,只出现选择经理。而且这两个前后选择经理是同一个字段和经理表,还是查询同一个表的经理。所以就会出现了前一个选择经理查询不到数据,后一个选择经理就能查询到数据。遇到这种情况,我们该怎么做呢?你们做法是不是想着给它们两个一样的下拉框一样的ID,或不一样的ID。其实这种方法是不可行的。最简单,最正确的做法就是给多条件查询的一个判断。因为它们可以进行切换,而且不再同一个form表单里面。就可以给无交接箱号码里面的选择经理一个判断,判断当汇总信息里面的选择经理等于0的时候,那个无交接箱的选择经理就可以进行查询。如图:
这样给个判断,即使是在同一个页面,同一个字段和表,只要是不同的form表单,也可以去查询同一个表的数据。那么,在同一个form表单里面的字段呢?就像下面的那个问题。
交接箱代码和交接箱名称都是交接箱表里面的字段,同时也是ConnectBoxInfo里面的字段。当把原来的查询写法写出时。同一个ConnectBoxInfo,就只有一个能把数据查询出来。在同一个form表单里面,遇到这种问题该怎么解决。那么我们只能在控制器里再加一个属性。就像这样
再添加一个ConnectBoxInfos,来获取ConnectBoxName的字段的数据,然后用新添加的ConnectBoxInfos属性去获取ConnectBoxName的input标签的ID。然后再调用ConnectBoxInfos这个属性。就可以进行查询了。它们的数据也不会有冲突了。这个就是在同一个form表单的调用同一个属性的查询问题。最后看一下效果如何。
解决了。而且它们还可以同时查询数据。只是这代码量就增多了,如果你觉得你的方法比我更好,可以与我分享一下哦!