小编Doc*_*und的帖子

传递给 ViewDataDictionary 的模型项是 X[] 类型,但此 ViewDataDictionary 实例需要 X 类型的模型项

错误:

InvalidOperationException:传入 ViewDataDictionary 的模型项的类型为“Test.Models.Ticket[]”,但此 ViewDataDictionary 实例需要类型为“Test.Models.Ticket”的模型项。

你好,
在盯着一个错误几天并做了一些研究之后,我确定我对 MVC 的了解不够,无法解决这个问题。我足够了解我的控制器正在尝试将数组传递给视图,但是视图没有在寻找数组(?)。下面是代码:

控制器:

//this is supposed to take the last five "tickets" created from a database
[Route("Ticket")]
public IActionResult Index(int page = 0)
{
    var model = _db.Tickets.OrderByDescending(x => x.Time).Take(5).ToArray();
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

查看:(文件名为“Index.cshtml”,位于“Views”文件夹内的“Ticket”文件夹下)

@model IEnumerable<Test.Models.Ticket>
@{
    Layout = "_Layout";
}

<p>Below is supposed to display the latest 5 "tickets" from a database.</p>

<div class="ticket-create">
    @foreach (var ticket in Model)
    {
        @Html.Partial("_Ticket", ticket)
    }
</div>
Run Code Online (Sandbox Code Playgroud)

部分视图“_Ticket”:

@model Test.Models.Ticket

<article class="ticket-create">
    <h1>@Html.ActionLink(Model.Type, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

c# ×1