0

大家好:我一直在努力处理 MVC 的某些部分,尤其是当我的视图有多个并排的 div 时,我需要在视图中使用来自控制器的数据来显示模型数据/实体。

左区(客户端一) 右区(客户端二) 左区(客户端三) 右区(客户端四)

我正在将一个简单的模型从控制器传递给我的视图。无论我如何尝试,似乎访问模型中“实体”/行的唯一方法是通过 foreach 并按顺序迭代它们。我真的需要通过索引值来获取“实体”,方法是将模型数据从 IEnumerable 转换为数组并获取实体 [n]。

这是可能的还是我不理解视图和模型数据之间的关系。

这是我的控制器:

    public ActionResult ClientView()
    {

    return View("ClientView", db.Clients.ToList());

我的模型是一个没有导航的典型客户端属性的简单列表:名字、姓氏、地址等。在视图中,我试图在左侧 div 中获取客户端 1,在右侧 div 中获取客户端 2,然后一个新的行并重新开始。

非常感谢提前

艾伦

4

1 回答 1

1

假设您的视图被强类型化为 List:

@Model List<MySoftware.Models.Client>

然后您可以通过索引访问客户端:

Model[0]
Model[1]
Model[2]

这是可能的,因为 IList 接口允许您按索引检索项目,就像数组一样。列表通常是首选方法,因为数组......嗯......有点过时了。

但是,更好的设计可能是将其简单地应用于您的 UI 代码,因为这实际上是一个 UI 显示问题。就像是:

@Model IEnumerable<MySoftware.Models.Client>

var i = 0;
foreach (var client in Model)
{
    <div> [client details] </div>
    i++;
    if (i % 2 == 1)
        <br/>
}
于 2013-11-13T00:27:15.760 回答