传递给局部视图的模型不正确
Incorrent model passed to Partial View
这可能是一个重复的问题,但我一辈子都不知道解决方案是什么。我正在尝试根据点击的 link.
的 ID 加载带有 table 的部分视图
我收到此错误:
System.InvalidOperationException: 'The model item passed into the ViewDataDictionary is of type 'System.Collections.Generic.List`1[MasigasigTrackingSystem.Models.Invoice]', but this ViewDataDictionary instance requires a model item of type 'MasigasigTrackingSystem.Pages.Masigasig.MainPage.TripTicket.TripTicketListModel'.'
我似乎无法弄清楚应该如何将模型传递给局部视图。
这是我的 OnGet 的样子:
public IList<Invoice> Invoice { get; set; }
public PartialViewResult OnGetDetails(int TripTicketID)
{
var invoices = from m in _context.Invoice
select m;
invoices = invoices.Where(x => x.TripTicketID == TripTicketID);
Invoice = invoices.ToList();
return Partial("_TripTicketListDetails", Invoice);
}
这是我的部分观点:
@model TripTicketListModel
<h1>Hello, test</h1>
<table id="TripEntryList" class="table table-bordered table-hover">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Invoice[0].InvoiceNumber)
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Invoice)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.InvoiceNumber)
</td>
</tr>
}
</tbody>
您需要部分视图 TripTicketListModel
并且您正在传递模型 Invoice
。这意味着你传递了错误的模型。
根据你的 View
代码,我可以说你的 Invoice
在 TripTicketListModel
中使用,所以请尝试以下解决方案。
public PartialViewResult OnGetDetails(int TripTicketID)
{
var invoices = from m in _context.Invoice select m;
invoices = invoices.Where(x => x.TripTicketID == TripTicketID);
TripTicketListModel model = new TripTicketListModel();
model.Invoice = invoices.ToList();
return Partial("_TripTicketListDetails", model);
}
这可能是一个重复的问题,但我一辈子都不知道解决方案是什么。我正在尝试根据点击的 link.
的 ID 加载带有 table 的部分视图我收到此错误:
System.InvalidOperationException: 'The model item passed into the ViewDataDictionary is of type 'System.Collections.Generic.List`1[MasigasigTrackingSystem.Models.Invoice]', but this ViewDataDictionary instance requires a model item of type 'MasigasigTrackingSystem.Pages.Masigasig.MainPage.TripTicket.TripTicketListModel'.'
我似乎无法弄清楚应该如何将模型传递给局部视图。
这是我的 OnGet 的样子:
public IList<Invoice> Invoice { get; set; }
public PartialViewResult OnGetDetails(int TripTicketID)
{
var invoices = from m in _context.Invoice
select m;
invoices = invoices.Where(x => x.TripTicketID == TripTicketID);
Invoice = invoices.ToList();
return Partial("_TripTicketListDetails", Invoice);
}
这是我的部分观点:
@model TripTicketListModel
<h1>Hello, test</h1>
<table id="TripEntryList" class="table table-bordered table-hover">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Invoice[0].InvoiceNumber)
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Invoice)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.InvoiceNumber)
</td>
</tr>
}
</tbody>
您需要部分视图 TripTicketListModel
并且您正在传递模型 Invoice
。这意味着你传递了错误的模型。
根据你的 View
代码,我可以说你的 Invoice
在 TripTicketListModel
中使用,所以请尝试以下解决方案。
public PartialViewResult OnGetDetails(int TripTicketID)
{
var invoices = from m in _context.Invoice select m;
invoices = invoices.Where(x => x.TripTicketID == TripTicketID);
TripTicketListModel model = new TripTicketListModel();
model.Invoice = invoices.ToList();
return Partial("_TripTicketListDetails", model);
}