访问从控制器传递的数据

时间:2012-12-24 14:35:16

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

我是学习asp.net MVC的新手,我试图在我的视图中从控制器访问一些数据。这是我的代码:

public ActionResult Index(string subcategory)
{
    List<Object> products = db.ListOfProducts(subcategory);

    return View(products);
}

我知道在将LIST传递给VIEW后,应该有一些方法来访问VIEW中的数据,但我似乎无法弄清楚如何。 通常,当我基于模型创建视图时,我知道通过使用模型对象,我可以访问我需要的数据,但通常在模型顶部有一个定义,在我的caase中没有。

那么如何在我的视图中访问LISTS数据?

3 个答案:

答案 0 :(得分:2)

将其添加到视图顶部以定义模型类型:

@model List<Object>

您可能需要将其命名为:

@using Systems.Collections.Generic;
@model List<Object>

@model Systems.Collections.Generic.List<Object>

答案 1 :(得分:1)

是的,只需添加到您的视图

即可创建强类型视图
 @model IList<Products>

之后你可以迭代抛出这样的模型:

@foreach(var prod in Model)
{
   //...
}

答案 2 :(得分:1)

你的Views文件夹中应该有一个名为Index的相应视图(在与你的控制器名称相匹配的子文件夹中 - 所以如果你的控制器被称为HomeController,你需要在views文件夹下面有一个'Home'文件夹)如果您还没有视图,可以通过右键单击文件夹并单击“添加视图”来创建视图。

确保视图顶部有一条语句,内容如下:

@model Systems.Collections.Generic.List<object>

您现在应该可以通过视图的Model属性访问您的数据。