无法在mvc项目中以所需格式呈现数据

时间:2016-02-19 12:06:05

标签: c# c asp.net-mvc entity-framework

我在mvc做一个项目。我有读取和写入的复选框和2个ID。从表格我将收到以下格式的数据。我将得到int perm_id,读取我将以int数组的形式得到的值,例如int [] read = {1345},int [] write = {1235}

per_id     read  write
   1        1      1
   1               2
   1        3      3
   1        4      
   1        5      5

   1        7      7

此处的权限ID相同。在读取时,值为1表示选中相应的复选框。在写入的第一列中,值为1,因此选中相应的复选框。在右下方的第二行中有null,因此再次取消选中相应的复选框,在写入下有一个值2,因此再次选中相应的复选框。在6行中,两个复选框都未选中,因此读取和写入为空。现在我想渲染上面的数据如下。

scrn_id    perm_id     read     write
   1          1        True     true
   2          1        false    true
   3          1        true     true
   4          1        true     false
   5          1        true     true
   7          1        true     true

这是他需要格式保存在数据库中。我从最近几天尝试了很多方面,但我无法以requird格式保存数据。有谁能解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这似乎是位掩码的好地方:

#include <stdio.h>

#define BIT(n) (1U << (n))

int main(void)
{
    unsigned rarr[] = {1, 3, 4, 5};
    unsigned warr[] = {1, 2, 4, 5};
    unsigned r = 0;
    unsigned w = 0;
    size_t i, n;

    n = sizeof rarr / sizeof rarr[0];
    for (i = 0; i < n; i++) {
        r |= BIT(rarr[i]);
    }
    n = sizeof warr / sizeof warr[0];
    for (i = 0; i < n; i++) {
        w |= BIT(warr[i]);
    }
    printf("n read  write\n");
    for (n = 1; n <= 5; n++) {
        printf("%zu %-5s %-5s\n", n,
                r & BIT(n) ? "True" : "False",
                w & BIT(n) ? "True" : "False"
        );
    } 
    return 0;
}

输出:

n read  write
1 True  True 
2 False True 
3 True  False
4 True  True 
5 True  True