在C#中创建一个包含4个元素的新行的HTML表?

在C#中创建一个包含4个元素的新行的HTML表?,c#,C#,这很简单,但我对此相当愚蠢。我有一个元素列表,我需要在第四个元素之后创建一个新行。所以说我有一张清单“一,二,三,四,五,六”。。。生成的HTML表需要如下所示: +-------------------------+ | One | Two | Three | Four| +-------------------------+ | Five| Six | | | +-------------------------+ for (var i = 0; <= (Item

这很简单,但我对此相当愚蠢。我有一个元素列表,我需要在第四个元素之后创建一个新行。所以说我有一张清单“一,二,三,四,五,六”。。。生成的HTML表需要如下所示:

+-------------------------+
| One | Two | Three | Four|
+-------------------------+
| Five| Six |       |     |
+-------------------------+
for (var i = 0; <= (Items.length - 1); i++) {
if ((i%5) === 0) {
   $("#myTable").append('<tr class="table-rows" />');
   $("#myTable .table-rows:last").append(Items[i]);
}
 else {
   $("#myTable .table-rows:last").append(Items[i]);
}
如果我使用Javascript,它会非常非常干净,就像这样:

+-------------------------+
| One | Two | Three | Four|
+-------------------------+
| Five| Six |       |     |
+-------------------------+
for (var i = 0; <= (Items.length - 1); i++) {
if ((i%5) === 0) {
   $("#myTable").append('<tr class="table-rows" />');
   $("#myTable .table-rows:last").append(Items[i]);
}
 else {
   $("#myTable .table-rows:last").append(Items[i]);
}

我觉得我好像离得很近,有什么用?

没有理由不能在C#中使用模运算符,基本上与在Javascript中使用的方式完全相同

您的C#代码本身也会给您带来索引越界错误,除非您的数据源正好可以被四个元素整除

编辑:示例;假设是Razor C#视图:


@for(int i=0;i看起来您可能混淆了
计数
长度
属性。
计数
通常用于可变长度集合(如
列表
),而
长度
通常用于固定长度集合(如数组)。我不知道您的
模型是如何声明的,但您可能只需要其中一个。

为什么不能在c#中使用相同的模运算符?您几乎可以将相同的JQuery代码转换为c#我需要使用一个表。在javascript中,我还使用CSS选择器来选择最后一行。在c#中如何做到这一点?看起来在视图中,我必须非常程序化。另外:我不能在这里使用Javascript。啊,关键是结束模运算符!它可能是一个次要的运算符(因为浏览器可能会很好地渲染它),但这可能会导致一个
标记被打开而从不关闭。您只需在循环后添加一个额外的
if
语句来捕获它。
@for(int i=0; i<Model.Length;i++){
   if(i%4==0){
      <tr>
   }
   <td>@Model[i].OutPut</td>
   if(i%4==3){
      </tr>
   }
}
@if(Model.Length%4!=0){
  </tr>
}