PagedList MVC enthält keine definition für PagedListPager

Ich weiß nicht, warum PageCount,Seitennummer und PageListPager nicht enthalten, eine definintion oder konnte nicht gefunden werden. Es ist zu Fragen, wenn ich bin fehlt eine using-Direktive oder ein assembly-Verweis, aber ich habe es in meinem user-controller.

Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
 to 
@Html.PagedListPager( Model, page => Url.Action("Index", new { page, sortOrder = ViewBag.CurrentSort, currentFilter=ViewBag.CurrentFilter }) )

Hinweis: BILDER UND CODE im folgenden SIND NUR FÜR REFERENZ

PagedList MVC enthält keine definition für PagedListPager

PagedList MVC enthält keine definition für PagedListPager

Controllers\UserController.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using RecreationalServicesTicketingSystem.Models;
using RecreationalServicesTicketingSystem.DAL;
using PagedList;

namespace RecreationalServicesTicketingSystem.Controllers
{
    public class UserController : Controller
    {
        private IssueContext db = new IssueContext();

        //
        //GET: /User/

        public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            var users = from s in db.Users
                           select s;
            if (!String.IsNullOrEmpty(searchString))
            {
                users = users.Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())
                                       || s.FirstMidName.ToUpper().Contains(searchString.ToUpper()));
            }
            switch (sortOrder)
            {
                case "name_desc":
                    users = users.OrderByDescending(s => s.LastName);
                    break;
                case "Date":
                    users = users.OrderBy(s => s.EnrollmentDate);
                    break;
                case "date_desc":
                    users = users.OrderByDescending(s => s.EnrollmentDate);
                    break;
                default:  //Name ascending 
                    users = users.OrderBy(s => s.LastName);
                    break;
            }

            int pageSize = 3;
            int pageNumber = (page ?? 1);
            return View(users.ToPagedList(pageNumber, pageSize));
        }

Views\User\Index.cshtml

@model IEnumerable<RecreationalServicesTicketingSystem.Models.User>

@{
    ViewBag.Title = "Users";
}

<h2>Users</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm("Index", "User", FormMethod.Get))
{
    <p>
        Find by name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as string)  
        <input type="submit" value="Search" />
    </p>
}

<table>
     <tr>
        <th>
 @Html.ActionLink("Last Name", "Index", new { sortOrder=ViewBag.NameSortParm, currentFilter=ViewBag.CurrentFilter })
        </th>
        <th>First Name
        </th>
        <th>
            @Html.ActionLink("Enrollment Date", "Index", new { sortOrder = ViewBag.DateSortParm })
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.LastName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FirstMidName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.EnrollmentDate)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.UserID }) |
            @Html.ActionLink("Details", "Details", new { id=item.UserID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.UserID })
        </td>
    </tr>
}

</table>
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
 to 
@Html.PagedListPager( Model, page => Url.Action("Index", new { page, sortOrder = ViewBag.CurrentSort, currentFilter=ViewBag.CurrentFilter }) )
Haben Sie enthalten die using Aussagen aus Ihrer Sicht? Und Sie Modell sein muss @model IPagedList<RecreationalServicesTicketingSystem.Models.User> (nicht IEnumerable<T>)
Ich habe versucht, was Sie vorgeschlagen, und ich habe diesen Fehler. Compiler-Fehlermeldung: CS0246: Der Typ oder namespace-name 'IPagedList' konnte nicht gefunden werden (fehlt eine using-Direktive oder ein Assemblyverweis?) Zeile 32: Zeile 33: Zeile 34: public class _Page_Views_User_Index_cshtml : System.Web.Mvc.WebViewPage<IPagedList<RecreationalServicesTicketingSystem.Modelle.Benutzer>> { Zeile 35: Zeile 36: #line hidden
Sie können nicht ändern Sie einfach die ursprüngliche Frage (und ich habe ein Rollback Ihrer änderungen). Sie brauchen beide @using PagedList; und @using PagedList.Mvc;
Compiler-Fehlermeldung: CS0246: Der Typ oder namespace-name 'IPagedList' konnte nicht gefunden werden (fehlt eine using-Direktive oder ein Assemblyverweis?).Zeile 40: public class _Page_Views_User_Index_cshtml : System.Web.Mvc.WebViewPage<IPagedList<RecreationalServicesTicketingSystem.Modelle.Benutzer>> {
Ja, es funktioniert ! Danke! Ich dachte, Visual Studio bringt in der using-Anweisungen als Standard, wenn ich Pakete installieren zu dieser Lösung.

InformationsquelleAutor TykiMikk | 2016-02-23

Schreibe einen Kommentar