显示没有IEnumerable的数据

时间:2016-01-13 10:46:28

标签: c# asp.net-mvc razor

我目前可以使用以下方式获取和显示视图中的所有数据:

@model IEnumerable<Logara.Models.LogaraDB>

@foreach (var item in Model)
     {
       <tr>
         <td>
           @Html.DisplayFor(modelItem => item.TimeIn)
         </td>
         <td>
           @Html.DisplayFor(modelItem => item.TimeOut)
         </td>
         <td>
           @Html.DisplayFor(modelItem => item.Comment)
         </td>
       </tr>
     }

如何仅使用@model Logara.Models.LogaraDB获取和显示数据?我还能使用foreach吗?没有HTML Helpers / Razor会有更简单的方法吗?

这是我的模特:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace Logara.Models
{
    public class LogaraDB
    {
        public int ID { get; set; }
        public DateTime TimeIn { get; set; }
        public DateTime TimeOut { get; set; }
        public string Comment { get; set; }
    }

    public class LogaraBDContext : DbContext
    {
        public DbSet<LogaraDB> Logara { get; set; }
    }
}

1 个答案:

答案 0 :(得分:0)

如果您只想显示一个LogaraDB对象,请删除foreach。 如果你想显示集合但摆脱@model IEnumerable你必须添加模型

public class LogaraDBList
    {
        IEnumerable<LogaraDB> logaraDBItems {get; set;}
    }

然后您的视图将如下所示:

@model Logara.Models.LogaraDBList

@foreach (var item in Model.logaraDBItems)
     {
       <tr>
         <td>
           @Html.DisplayFor(modelItem => item.TimeIn)
         </td>
         <td>
           @Html.DisplayFor(modelItem => item.TimeOut)
         </td>
         <td>
           @Html.DisplayFor(modelItem => item.Comment)
         </td>
       </tr>
     }