ASP.NET MVC自定义类型列表中管窥 [英] ASP.NET MVC Custom Type List in Partial View

查看:110
本文介绍了ASP.NET MVC自定义类型列表中管窥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个观点,即需要一个PaginatedList(像书呆子晚餐样品中)。页面按预期工作。现在我补充说,采用相同的PaginatedList的局部视图和我称之为RnederPartial的第一个视图中。 ASP.NET抛出一个异常,我似乎无法化解。

I have a view that takes a PaginatedList (like in Nerd Dinner sample). The page works as intended. Now I have added a partial view that takes the same PaginatedList and I call RnederPartial inside the first view. ASP.NET throws a exception that I can't seem to resolve.

PaginatedList code:

PaginatedList Code:

public class PaginatedList<T> : List<T>
{
    public int PageIndex { get; private set; }
    public int PageSize { get; private set; }
    public int TotalCount { get; private set; }
    public int TotalPages { get; private set; }

    public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize)
    {
        PageIndex = pageIndex;
        PageSize = pageSize;
        TotalCount = source.Count();
        TotalPages = (int)Math.Ceiling(TotalCount / (double)PageSize);
        this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
    }

    public bool HasPreviousPage
    {
        get
        {
            return (PageIndex > 0);
        }
    }

    public bool HasNextPage
    {
        get
        {
            return (PageIndex + 1 < TotalPages);
        }
    }
}

控制器:

[Authorize]
public ActionResult Index(int? page)
{
    const int pageSize = 10;

    var workstations = itilRepository.FindAllWorkstations();

    var paginatedWorkstations = new PaginatedList<Workstation>(workstations, page ?? 0, pageSize);

    return View("Index", paginatedWorkstations);
}

顶索引视图:

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

我呼吁在索引视图的局部视图如下:

I call the partial view in the Index view as follows:

<% Html.RenderPartial("Workstations", Model); %>

顶工作站管窥:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewPage<ITILDatabase.Helpers.PaginatedList<ITILDatabase.Models.Workstation>>" %>

我收到的错误是:

The error I receive is:

C:\\ WINDOWS \\ Microsoft.NET \\框架\\ V2.0.50727 \\临时ASP.NET文件\\ ROOT \\ d2889d23 \\ c6192b3e \\ App_Web_workstations.ascx.a8d08dba.tgrd74s0.0.cs(156):错误CS0030:无法转换类型'ASP.views_home_workstations_ascx'到'System.Web.Mvc.ViewUserControl

c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\d2889d23\c6192b3e\App_Web_workstations.ascx.a8d08dba.tgrd74s0.0.cs(156): error CS0030: Cannot convert type 'ASP.views_home_workstations_ascx' to 'System.Web.Mvc.ViewUserControl'

如果有谁知道为什么我收到这个错误我会非常AP preciate它。

If anyone knows why I am getting this error I would greatly appreciate it.

感谢您!

推荐答案

您工作站局部视图的顶部应如下:

Your Workstations Partial View's top should look like:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ITILDatabase.Helpers.PaginatedList<ITILDatabase.Models.Workstation>>" %>

更改为的ViewPage ViewUserControl

Change ViewPage to ViewUserControl

这篇关于ASP.NET MVC自定义类型列表中管窥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆