IndexOutOfRange in while循环和路由错误

时间:2015-06-17 11:20:04

标签: c# asp.net asp.net-mvc

我正在使用while循环,它给出了indexoutofrange错误。我不明白为什么这段代码会给我这个。

这就是我的看法:

@{
    int i = 1;
    while(i < 6)
    {
        <li class="item" id="ti+@i"><img  src="Content/images/items/@Model[i].image_name" /></li>
        i++;
    }
}

另外,当我启动网站时,我得到了一个无法找到资源的错误。该网站指向从Home / Index开始,这是该视图页面。

该页面的控制器:

DBController controller = new DBController();

public ActionResult Index()
{
    List<items> items= controller.getItems();
    return View(items);
}

我不知道为什么这一切都不起作用。

1 个答案:

答案 0 :(得分:3)

C#中的循环通常在0到n-1之间,所以要确保从1开始是你想要的。

除此之外,错误的结果可能是Model只包含5个或更少的元素,因此访问Model[5]会导致错误,因为Model中的元素已编入索引从0到(最多)4。