我正在用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/