【问题标题】:Access data passed from the controller访问从控制器传递的数据
【发布时间】:2013-01-21 02:09:45
【问题描述】:

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

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

    return View(products);
}

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

那么我怎样才能在我的视图中访问 LISTS 数据呢?

【问题讨论】:

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


【解决方案1】:

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

@model List<Object>

您可能需要将其命名为:

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

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

【讨论】:

    【解决方案2】:

    是的,只需通过添加到您的视图来创建一个强类型视图

     @model IList<Products>
    

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

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

    【讨论】:

      【解决方案3】:

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

      确保您在视图顶部有一个声明:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-26
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-06
        • 2022-07-06
        • 2011-11-23
        相关资源
        最近更新 更多