MVC 5-部分视图不显示数据

本文关键字:显示 数据 视图 5-部 MVC | 更新日期: 2023-09-27 18:26:57

我有一个公司模型,如下所示。

该公司模型具有EmailHistory的IQueryable(这是另一个模型)。

public int Id { get; set; }
public string CompanyName { get; set; }
public IQueryable<IEmailHistory> EmailHistory { get; set; }

在我的公司控制器中,我获取我的公司详细信息,并获取我所有的电子邮件历史记录,所以这是我的控制器。

//Go to the repository and the company record
var companyRecord = TheRepository.GetCompany(transaction.CompanyId, User.Identity.GetUserId());
//Get the emails for this company
companyRecord.EmailHistory = TheRepository.GetEmailHistoryByCompany(User.Identity.GetUserId(),
            Id);

如果我在控制器中扩展此时的结果,我可以看到公司的电子邮件。。。。到目前为止一切都很好。

我的公司页面有电子邮件历史记录的部分视图。

@ Html.Partial("~/Views/EmailHistory/_EmailHistories.cshtml", Model.EmailHistory);

部分看起来像这样:

@model List<AutoSend.Model.IEmailHistory>
<table class="table">
    <thead>
        <tr>
            <th style="width:100px" class="text-left">To</th>
            <th style="width:60px" class="text-left">Sent Date</th>
            <th style="width:60px" class="text-left">OutCome</th>
            <th style="width:60px" class="text-left">Delivered Date</th>
            <th style="width:60px" class="text-left">Opened Date</th>       
        </tr>
    </thead>
    <tbody>
        @foreach (var emailHistory in Model)
        {
            <tr>
            <td class="text-left">@Html.Display(emailHistory.EmailAddress)</td>
            <td class="text-left">@Html.Display(emailHistory.SentDate.ToShortDateString())</td>
            <td class="text-left">@Html.Display(emailHistory.OutCome)</td>
            <td class="text-left">@Html.Display(emailHistory.EmailDeliveredDate.ToShortDateString())</td>
            <td class="text-left">@Html.Display(emailHistory.EmailOpened.ToShortDateString())            </td>
            </tr>
        }
    </tbody>
</table>

如果我仔细检查一下,我可以看到我们循环查看电子邮件历史记录(并可以看到值)很好,但。。。。。页面从未实际呈现出数据(尽管呈现了相关的td)

我可以看到表的标题和行,但没有显示任何记录!?

MVC 5-部分视图不显示数据

在没有helper方法的情况下在tds中渲染数据怎么样。。。。。比如@emailhistory。[你的道具]。。。。