asp.net viewdata

时间:2010-05-07 13:23:41

标签: c# asp.net-mvc

public ActionResult AddDinner()
{
  Dinner dinner = dinnerRepository.GetDinner(id);
  ViewData["dinner"] = repository.AllDinners();

  return View(dinner);
}

1)首先,是晚餐对象和ViewData["dinner"]是否传递到视图?

2)其次,我如何迭代视图中的ViewData["dinner"]

2 个答案:

答案 0 :(得分:4)

1)是的,两者都将在您的视图中提供。所以不必担心:)

2)当您传递给View()方法的数据可以从视图的Model对象中获得时,您可以通过从... ViewData []中读取它们来访问您在ViewData []集中设置的所有数据! ^ _ ^

您可以在视图中的任何位置执行此操作:

<% foreach(Dinner d in ViewData["dinner"] as IEnumerable<Dinner>)
{
    RenderPartial("Dinner", d);
} %>

或类似的东西:)

答案 1 :(得分:3)

  1. 是。页面上将显示dinner和ViewData [“晚餐”]。您可以通过dinner。{/ li>中的Model访问View

    2

    <% foreach(Dinner d in (IEnumerable<Dinner>)ViewData["dinner"])
       {
           // Code goes here 
       } %>