【问题标题】:How to display a list of objects in an MVC View?如何在 MVC 视图中显示对象列表?
【发布时间】:2014-04-16 06:48:45
【问题描述】:

我有一个返回字符串列表的方法。我只是想在视图中将该列表显示为纯文本。

这是来自控制器的列表:

public class ServiceController : Controller
{

    public string Service()
    {
        //Some code..........
        List<string> Dates = new List<string>();
        foreach (var row in d.Rows)
        {
            Dates.Add(row[0]);
        }
        return Dates.ToString();
    }

    public ActionResult Service()
    {
        Service();
   }
}

还有观点:

<table class="adminContent">
    <tr>
        <td>HEJ</td>
    </tr>
     <tr>
        <td>@Html.Action("Service", "Service")</td>
    </tr>
    </tr>
</table>

我想我必须在视图中做一些事情,比如 foreach 循环,并使用“@”引用列表,但是如何?

【问题讨论】:

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


【解决方案1】:

您的操作方法Service 应该返回一个View。之后将 Service() 方法的返回类型从 string 更改为 List&lt;string&gt;

public List<string> Service()
{
    //Some code..........
    List<string> Dates = new List<string>();
    foreach (var row in d.Rows)
    {
        Dates.Add(row[0]);
    }
    return Dates;
}

public ActionResult GAStatistics()
{
    return View(Service());
}

在您的视图中引用该模型后:

@model List<string>
@foreach (var element in Model)
{
    <p>@Html.DisplayFor(m => element)</p>
}

在我的示例中,ActionResult 如下所示:

public ActionResult List()
{
    List<string> Dates = new List<string>();
    for (int i = 0; i < 20; i++)
    {
        Dates.Add(String.Format("String{0}", i));
    }
    return View(Dates);
}

这导致了输出:

【讨论】:

  • 其实这很有意义。谢谢!顺便说一句,for循环真的需要吗?我的意思是,假设我们不知道列表中有多少项目我可以做一个 foreach 循环来代替最大结果吗?或者: for (int i = 0; i != 0; i++) { Dates.Add(String.Format("String{0}", i)); } 返回视图(日期);
  • 控制器中的for循环仅用于演示目的,以获取列表中的一些内容。使用任何你喜欢和需要的东西。
  • 好像我有问题。我已经有一个模型 @model ServiceListModel 收到错误我只能有 1 个模型。
  • 完全正确。但是你的问题没有观点,所以没有人知道。另一方面:每个视图都有一个控制器操作。一个控制器返回一个模型。
【解决方案2】:

在视图中可以如下操作,

@foreach (var item in @Model)      
{      
     <li>@item.PropertName</li>  
}   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    相关资源
    最近更新 更多