Элемент модели, переданный в словарь, имеет тип 'System.Collections.Generic.Lis - PullRequest
0 голосов
/ 02 мая 2010

Представление «Индекс вызова» дает мне эту очень очень досадную ошибку. Кто-нибудь может сказать мне, что с этим делать

Ошибка: Элемент модели, переданный в словарь, имеет тип 'System.Collections.Generic.List 1[MvcApplication13.Models.Groups]', but this dictionary requires a model item of type 'MvcApplication13.Helpers.PaginatedList 1 [MvcApplication13.Models.Groups]'.

публичный указатель ActionResult (int? Page) { const int pageSize = 10; var group = из p в _db. порядок групп по p.int_GroupId выберите p;

* +1007 *

Вид:

> "%>

Индекс

<h2>Index</h2>

<table>
    <tr>
        <th></th>
        <th>
            int_GroupId
        </th>
        <th>
            vcr_GroupName
        </th>
        <th>
            txt_GroupDescription
        </th>
        <th>
            bit_Is_Deletable
        </th>
        <th>
            bit_Active
        </th>
        <th>
            int_CreatedBy
        </th>
        <th>
            dtm_CreatedDate
        </th>
        <th>
            int_ModifiedBy
        </th>
        <th>
            dtm_ModifiedDate
        </th>
    </tr>

<% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.ActionLink("Edit", "Edit", new { id=item.int_GroupId }) %> |
            <%= Html.ActionLink("Details", "Details", new { id=item.int_GroupId })%> |
            <%= Html.ActionLink("Delete", "Delete", new { id=item.int_GroupId })%>
        </td>
        <td>
            <%= Html.Encode(item.int_GroupId) %>
        </td>
        <td>
            <%= Html.Encode(item.vcr_GroupName) %>
        </td>
        <td>
            <%= Html.Encode(item.txt_GroupDescription) %>
        </td>
        <td>
            <%= Html.Encode(item.bit_Is_Deletable) %>
        </td>
        <td>
            <%= Html.Encode(item.bit_Active) %>
        </td>
        <td>
            <%= Html.Encode(item.int_CreatedBy) %>
        </td>
        <td>
            <%= Html.Encode(String.Format("{0:g}", item.dtm_CreatedDate)) %>
        </td>
        <td>
            <%= Html.Encode(item.int_ModifiedBy) %>
        </td>
        <td>
            <%= Html.Encode(String.Format("{0:g}", item.dtm_ModifiedDate)) %>
        </td>
    </tr>

<% } %>

</table>
>> "," UpcomingDinners ", new {page = (Model.PageIndex + 1)})%>
<p>
    <%= Html.ActionLink("Create New", "Create") %>
</p>

1 Ответ

2 голосов
/ 02 мая 2010

Вы потеряли некоторые данные, когда вставили свой код. Вот что, я думаю, вы хотели вставить: View

<%@ Page Title="" Language="C#" 
  MasterPageFile="~/Views/Shared/Site.Master" 
 Inherits="System.Web.Mvc.ViewPage<MvcApplication13.Helpers.PaginatedList<MvcApplication13.Models.Groups>>" %>

Если это так, ваш код должен выглядеть примерно так (т.е. создать новый экземпляр класса PaginatedList):

public ActionResult Index(int? page) {

    const int pageSize = 10;

    var upcomingDinners = dinnerRepository.FindUpcomingDinners();
    var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page ?? 0, pageSize);

    return View(paginatedDinners);
}

http://nerddinnerbook.s3.amazonaws.com/Part8.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...