如何:使用 MvcContrib.Pagination 而不使用 MvcContrib.Grid 视图

2024-04-16

这最初是一个问题,但随着我做了一些实验,变成了一个解决方案!所以我想我会和大家分享这个。我的问题是:

如何在不使用 MvcContrib.Grid View 的情况下使用 MvcContrib.Pagination?

我的回答如下...


我正在构建一个服务台票务系统(我是一个 C# 新手 - 从 NerdDinner 得到了很多指导),我希望使用某种分页库来帮助查看。我找到了 MvcContrib.Pagination 并且让它可以用于视图。我的视图不使用 MvcContrib.Grid 因为它是自定义的。

我的视图的缩小版本列表.aspx :

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MyProject.Areas.HelpDesk.Models.hd_Ticket>>" %>
<%@ Import Namespace="MyProject.Areas.HelpDesk.Controllers" %>
<%@ Import Namespace="MvcContrib.Pagination" %>

<h2>Help Desk Tickets (showing <%= Model.Count() %> of <%= ViewData["totalItems"] %>)</h2>     

<% foreach (var item in Model) { %>
    <h3><%= Html.Encode(item.Subject)%></h3>
<% } %>

<p><%= Html.Pager((IPagination)Model)%></p>

我的控制器(部分)TicketController.cs :

TicketRepository ticketRepository = new TicketRepository();

public ActionResult List(int? page, int? pageSize)
{
    IPagination<hd_Ticket> tickets = null;

    int dPageSize = 50;
    int totalItems;

    tickets = ticketRepository.GetTickets().ToList().AsPagination(page ?? 1, pageSize ?? dPageSize);
    ViewData["totalItems"] = tickets.TotalItems;

    return View("List", tickets);
}

我正在使用存储库模式,它将结果作为 IQueryable 返回。这是其中的一部分TicketRepository.cs file:

public class TicketRepository
{
    private HelpDeskDataContext db = new HelpDeskDataContext();

    public IQueryable<hd_Ticket> FindAllTickets()
    {
        return from ticket in db.hd_Tickets
               orderby ticket.CreatedDate descending
               select ticket;
    }
}

所有这些对某些人来说可能微不足道,但如果像我这样的人正在尝试学习 C# 和 ASP.NET MVC 和分页,那么这可能很有用。我建议新手学习 NerdDinner 教程:

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

:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何:使用 MvcContrib.Pagination 而不使用 MvcContrib.Grid 视图 的相关文章

  • 编写此代码片段的有效方法是什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 更有效和 或更短地重写此代码以节省字节并显得不那么冗长的方法 if N 2 0 N 6 N 8 N 10 N 12 N 14 N 16 N
  • JSON.Net 反序列化返回“null”

    我正在使用 JSON Net 反序列化 JSON 字符串 JSON 字符串是 string testJson Fruits Apple color red size round Orange Pro
  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 使用 C# 中的 Google 地图 API 和 SSIS 包获取行驶距离

    更新 找到了谷歌距离矩阵并尝试相应地修改我的代码 我在这里收到无效参数错误 return new GeoLocation dstnc uri ToString catch return new GeoLocation 0 0 https 基
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 运行测试项目时自动启动ASP.MVC项目

    我正在尝试为我的 ASP 网站设置一个测试项目 对于某些测试 我想使用 selenium 来执行端到端测试 因此 我的网站必须运行 以便测试可以访问该网站 运行测试时如何启动我的网站项目 请参考以下链接 我相信这是可能的 但会有点棘手 这些
  • 嵌入式二进制资源 - 如何枚举嵌入的图像文件?

    我按照中的说明进行操作这本书 http www apress com book view 9781430225492 关于资源等的章节 我不太明白的是 如何替换它 images Add new BitmapImage new Uri Ima

随机推荐

  • 使用 XSLT 转换 XML 时保留实体引用?

    使用 XSLT 2 0 转换 XML 时如何保留实体引用 对于我尝试过的所有处理器 默认情况下都会解析实体 我可以用xsl character map处理字符实体 但是文本实体呢 例如 这个 XML gt
  • C# Datagridview 不对 Checkbox 列进行排序

    当我将 Linq to sql 查询绑定到 datagridview 在其间使用 BindingSource 时 默认情况下这些列是可排序的 然而 布尔类型似乎并非如此 对于这些 datagridview 使用复选框列 但是当我单击标题时没
  • .NET 多线程变量访问

    我有一个有 4 个线程的应用程序 GUI 控制器 生产者 消费者 GUI 是不言自明的 控制器在进行一些初始设置后启动生产者和消费者线程 生产者创建项目并将它们放置在 环形缓冲区 的空闲槽中 消费者从 环形缓冲区 中取出项目并将其写入磁盘
  • 当 Git 或 TortoiseGit 出现冲突时,正确的提交/推送方式是什么?

    我们正在使用 git 和合并工作流程 我们有很多 git 新手 包括 我 要么有 SVN 或 CVS 背景 要么没有版本控制背景 根本不 这是我们经常遇到的问题 许多团队成员都是 使用 TortoiseGit 由于并发 合并冲突经常发生 改
  • 什么是准备好的陈述?它们与动态sql有何不同?

    我没有看到任何重复的问题 但想知道是否有人可以提供一些很好的例子 特别是围绕这些问题的最佳实践 准备好的语句是预编译的您可以在数据库上多次运行的语句 并且 SQLServer 不会在您每次运行它时解析或生成不同的执行计划 通常 您在客户端上
  • Python - 将枚举转换为 Django models.CharField 选择元组 [重复]

    这个问题在这里已经有答案了 我有这个枚举 class Animal Enum DOG dog CAT cat 在 Django 模型中我有这个 possible animals DOG dog cat cat animal models C
  • Android menuitem onclick处理程序的返回值

    在 android 中 当我在 xml 中定义 menuitem 的 onclick 处理程序时
  • Notepad++ 将鼠标悬停在链接或颜色上进行预览?

    我想知道是否有一个选择或plugin 这使我们能够悬停预览要么是CSS颜色 or image 像这样 而且如果你将鼠标悬停在 img src 上 预览图片 尝试 Notepad 快速颜色选择器 双击十六进制颜色 会弹出一个颜色选择器以及预览
  • 如何使我的布局能够向下滚动?

    我无法向下滚动屏幕查看 回复者 部分中的数据 如何使我的布局可滚动 只需将所有内容包裹在一个ScrollView
  • 从具有重复值的 MySQL 结果创建多维嵌套数组 (PHP)

    我目前正在使用 PDO fetchAll 函数从数据库中提取菜单数据 这样做会将查询结果的每一行放入以下结构的数组中 Array 0 gt Array MenuId gt mmnlinlm08l6r7e8ju53n1f58 MenuName
  • 如何使用python比较两个html文件

    我想使用 python 来比较两个 html 文件 例子 html 1 p i love it p html 2 h2 i love it diff 文件将如下所示 diff html h2
  • 从 Hashicorp 金库存储和检索文件

    我不知道如何在 hashcorpVault 中存储文件 我们的 PoC 用例是将 SSL 证书存储在特定路径 然后通过 HTTP API 下载它 我尝试使用 kv 秘密引擎 这似乎是最合适的 似乎您可以指定一个包含数据的文件来存储为 Has
  • 如何使用 OAUTH2 从 Java 访问 Outlook.office365.com IMAP?

    由于 Microsoft 宣布很快将无法再通过基本身份验证访问 Outlook IMAP 邮箱 因此我正在尝试弄清楚如何在 Java 中使用 OAUTH2 正确打开 IMAP 邮箱 但我总是收到错误代码 A1 NO AUTHENTICATE
  • 将文本流从 NodeJS 传递到浏览器

    我正在尝试将 NodeJS 中处理的文本文件流式传输到浏览器 以下是处理前的文本文件 该文件名为 dbUsers json userId 443 email email protected cdn cgi l email protectio
  • 使用 RestSharp 根据请求添加证书

    我正在尝试与服务器通信 该服务器向我发送证书和私钥 以便成功执行我的请求 为了测试服务器 我使用Postman https www getpostman com 所以我在邮递员中填写了证书设置 并且我的请求工作正常 现在我想在 C 中做同样
  • 如何绑定谷歌云转发规则IP地址并发送?

    我已按照说明进行操作使用协议转发 https cloud google com compute docs protocol forwarding 在谷歌云平台上 所以我现在有这样的东西 gcloud compute forwarding r
  • Ninject 约定与 Ninject 工厂扩展将多种类型绑定到一个接口

    我正在尝试扩展标题为 SO 的问题中提出的场景Ninject Factory Extension 将多种具体类型绑定到一个接口 https stackoverflow com q 14451066 533958通过使用 Ninject Co
  • Swagger UI 上的服务器响应为空

    我有一个与 Swagger UI 集成的 REST API 但是 当我尝试从 Swagger UI 执行请求时 该界面仅向我显示curl 命令 但不提供服务器响应 从命令行运行时 curl 命令会返回预期的响应 但 UI 本身中没有显示任何
  • '\r':找不到命令[重复]

    这个问题在这里已经有答案了 echo Select your option echo 1 Change ip address echo 2 Add route echo 3 Reboot echo 4 Exit read A case A
  • 如何:使用 MvcContrib.Pagination 而不使用 MvcContrib.Grid 视图

    这最初是一个问题 但随着我做了一些实验 变成了一个解决方案 所以我想我会和大家分享这个 我的问题是 如何在不使用 MvcContrib Grid View 的情况下使用 MvcContrib Pagination 我的回答如下 我正在构建一