【问题标题】:unable to render data in required format in mvc project无法在 mvc 项目中以所需格式呈现数据
【发布时间】:2016-02-19 12:06:05
【问题描述】:

我正在 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是一样的。在 read 下有一个值 1 表示选中了相应的复选框。在写入下方的第一列中有一个值 1,因此选中了相应的复选框。在右边的第二行有空,所以相应的复选框再次被取消选中,在 write 下有一个值 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

这是他保存在数据库中所需的格式。从前几天开始,我尝试了多种方式,但无法以所需格式保存数据。有没有人可以解决这个问题。提前致谢。

【问题讨论】:

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


    【解决方案1】:

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

    #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 
    

    【讨论】:

    • 很好的逻辑。我可以在 c# 中实现相同的功能吗?
    • 我会得到像 int[] read={1,3,4,5} 这样的数组,那么如何编写下面的代码? r |= 位(1); r |= 位(3); r |= 位(4); r |= BIT(5);
    • 是的,明白了。很好的逻辑......非常感谢Alter Mann先生
    • 不客气 ;) 请注意,这两个数字(rw)是您需要保存在数据库中以获取/设置权限的内容。
    • 这个 %-5s %-5s 包含 r 和 w。是的,我明白了。
    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 2011-12-20
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多