要查看的 .NET 显示控制器列表



我正在测试一种方法,我只想将列表显示到视图中。我知道该列表包含数据,因为我能够通过 viewbag 变量显示第一个结果。如果没有我能找到的唯一其他帖子的方法,我将如何做到这一点?谢谢。

错误:

名称"foundEmail"在当前上下文中不存在

控制器操作:

  public ActionResult EmailTest()
    {
        List<string> foundEmails = EmailScraper.Main();
        return View(foundEmails);
    }

视图:

@{
ViewBag.Title = "View";
 }
 <h2>View</h2>
   @foreach(var item in foundEmails)
{
<p>@item</p>
}

您的问题的答案是在视图文件的顶部定义@model IEnumerable<string>@model ICollection<string>@model IList<string>甚至@model List<string>(我个人会选择第一个选项(。然后,您可以在模型对象上运行 foreach 循环,如下所示:

@foreach(var item in Model)
{
  <p>@item</p>
}

但是,对于更复杂的应用程序,我建议为每个视图创建一个 ViewModel 类。想象一下,您收到来自客户端的要求,并且需要在给定的屏幕上实现一些新的业务逻辑。这可能意味着您将需要另外 30 个字段才能在该屏幕上显示。当然,有很多方法可以将数据从控制器发送到视图,例如使用 ViewBag 对象等,但它会使您的代码有点混乱。干杯

你必须改变你的观点:

@model List<string>
@{
ViewBag.Title = "View";
 }
 <h2>View</h2>
   @foreach(var item in Model)
    {
     <p>@item</p>
    }

最新更新