C# 如何在MVC视图中显示对象列表?

C# 如何在MVC视图中显示对象列表?,c#,.net,asp.net-mvc,list,ienumerable,C#,.net,Asp.net Mvc,List,Ienumerable,我有一个返回字符串列表的方法。我只想以纯文本的形式在视图中显示该列表 这是来自控制器的列表: public class ServiceController : Controller { public string Service() { //Some code.......... List<string> Dates = new List<string>(); foreach (var row in d.R

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

这是来自控制器的列表:

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(变量行在d.Rows中)
{
日期。添加(第[0]行);
}
返回日期。ToString();
}
公共行动结果服务()
{
服务();
}
}
和视图:

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循环,并使用“@”引用列表,但如何操作?

您可以在视图中执行以下操作

@foreach (var item in @Model)      
{      
     <li>@item.PropertName</li>  
}   
@foreach(@Model中的变量项)
{      
  • @项目.属性名称
  • }
    您的操作方法
    服务
    应返回一个
    视图
    。在此之后,将Service()方法的返回类型从
    string
    更改为
    List

    公共列表服务()
    {
    //一些代码。。。。。。。。。。
    列表日期=新列表();
    foreach(变量行在d.Rows中)
    {
    日期。添加(第[0]行);
    }
    返回日期;
    }
    公共行动结果统计()
    {
    返回视图(Service());
    }
    
    在此引用之后,视图中的模型:

    @model List<string>
    @foreach (var element in Model)
    {
        <p>@Html.DisplayFor(m => element)</p>
    }
    
    @型号列表
    @foreach(模型中的var元素)
    {
    @DisplayFor(m=>element)

    }
    在我的示例中,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);
    }
    
    public ActionResult List()
    {
    列表日期=新列表();
    对于(int i=0;i<20;i++)
    {
    Add(String.Format(“String{0}”,i));
    }
    返回视图(日期);
    }
    
    其结果是:


    你可以检查一下这个例子:实际上这很有道理。谢谢顺便问一下,for循环真的有必要吗?我的意思是,假设我们不知道manny项在列表中的位置,我可以做一个foreach循环,这样就不会有max结果了吗?或者:for(inti=0;i!=0;i++){Dates.Add(String.Format(“String{0}”,i));}返回视图(Dates);控制器中的for循环仅用于演示目的,以获取列表中的某些内容。你喜欢什么就用什么,你需要什么。我好像有问题。我已经有一个model@model ServiceListModel出现错误,我只能有一个model。完全正确。但是在你的问题中没有观点,所以没有人知道。另一方面:每个视图有一个控制器操作。一个控制器返回一个模型。