0

s 这段代码有什么问题?我只是想练习将列表传递给我的视图:

控制器:

public ActionResult About()

    {
        List<string> ListofColors = new List<string>();
        ViewBag.colors.Add("red");
        ViewBag.colors.Add("green");
        ViewBag.colors.Add("blue");

        ViewBag.ListColors = ListofColors;
        return View();

看法:

<ul id="colors">

@foreach (var colors in (List<string>) ViewBag.ListColors) { 
<li>
    @colors
</li>
} 

</ul>

我得到的错误是:CS0103:当前上下文中不存在名称“颜色”

4

3 回答 3

2

您没有ListColors在控制器操作中将对象传递到您的视图包:

 ....
 ViewBag.ListColors = ListofColors;
 return View();
 ....
于 2013-03-01T17:04:12.110 回答
1

您的控制器代码中缺少该行。

ViewBag.ListColors = colors;

编辑 :: 代码应如下所示在您的控制器中

public ActionResult About()
{
    List<string> ListofColors = new List<string>();
    ListofColors.Add("red");
    ListofColors.Add("green");
    ListofColors.Add("blue");

    ViewBag.ListColors = ListofColors;
    return View();
}

这将解决您的问题。

于 2013-03-01T17:04:19.513 回答
1
List<string> ListofColors = new List<string>();
ListofColors.Add("red");
ListofColors.Add("green");
ListofColors.Add("blue");

ViewBag.ListColors = ListofColors;

将颜色添加到您的列表并将 listofcolors 传递给 viewbag

于 2014-01-01T17:43:07.937 回答