即是说模块被分配之后,不能让用户再选择来分配。
分析:
模块是存储在一张表中。从数据库读取出来,绑定在checkboxList上。
分配的数据,是存在另一张表中。
这样子数据库有2张表存储这些数据。
上图中IsDistribution是在两个张均不存在的字段,是在SELECT时,我们添加上去的。它是根据分配后的表的数据来判断,分配后为1,没有分配的为0:
那在数据库怎样判断呢?使用表关联即可。
先这样子,使用LEFT JOIN :
上图中的#um即是第二张分配表,如果没有被分配的,外键值为NULL。
um.[Module_nbr] as [IsDistribution]
只要判断NULL即可。如果为空即是没有被分配的,我们再改一下SQL语句:
有了数据源之后,在ASP.NET MVC的Razor就可以这样去写了:
好了,超简单的实现方法。