如何使用单个对象在 Mvc WebGrid 中显示两列

How display two columns in Mvc WebGrid with single object

我是 MVC 的新手,我想在 WebGrid 的两列中显示用户名,如下所示。

目前网络网格显示格式如下。

我正在将 WebGridList<string> 绑定,列表包含用户名。

我的控制器

public ActionResult Index()
{ 
    List<string> userList = new List<string>();
    userList.Add("User1");
    userList.Add("User2");
    userList.Add("User3");
    userList.Add("User4");
    return View(userList);
}

我的 Cshtml

@using (Html.BeginForm())
{
    var grid = new WebGrid(Model);
    @grid.GetHtml(columns: grid.Columns(grid.Column(format: (item) => item)));
}

您想要的输出不是 webgrid 控件的正确用例。这是使用简单 for 循环的 mvc razor 视图的 table 生成逻辑:

@model List<string>
<table >
            @{ 
                for (int i = 1; i <= Model.Count; i++)
                {
                    if (i % 2 != 0)
                    {
                        @:<tr >
                    }
                    <td style="border:solid;">
                            @Model[i - 1]
                    </td>

                     if (i % 2 == 0)
                     {
                         @:</tr>
                     }
                  }
              }
    </table>

我添加了 css 样式 style="border:solid;" 只是为了显示所有 table 单元格的边框。您可以根据需要自定义它。

此代码在下面创建 table: