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

标签 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是相同的。在 read 下有一个值 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

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

最佳答案

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

#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# - 无法在mvc项目中以所需格式呈现数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504952/

相关文章:

asp.net - tag-helpers 未正确生成我的网址

javascript - jquery metismenu 无法与 AngularJS Controller 异步加载数据

C# 集合到经典 ASP

C# websocket 本地和远程端点

c - 为什么 write() 返回 ssize_t 但参数为 size_t?

c++ - 如何在 C 中显示 _getch() 字符的整数值?

asp.net-mvc - Razor - 在没有 Render() 和没有编码的情况下渲染

c# - OOP设计问题: responsibility in containee or container?

c# - 解析基类

c - 如何使窗口不透明?