MVC

1、安装控件

install-package Webdiyer.MvcPager

2、Cotroller

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Huo.CMS.Web.Models;
using Webdiyer.WebControls.Mvc; namespace Huo.CMS.Web.Controllers
{
public class ArticleController : Controller
{
// GET: Article
public ActionResult Index(int pageIndex = , string search = "", string category = "", string date = "")
{
var query = from a in ArticleList.AsQueryable()
where a.Category.Equals(category)
select a;
var data = query.OrderByDescending(p => p.CreateDate).ToPagedList(pageIndex, );
if (Request.IsAjaxRequest())
{
return PartialView("_ArticleTable", data);
}
return View(data);
} private IList<VMArticle> ArticleList
{
get
{
List<VMArticle> list = new List<VMArticle>()
{
new VMArticle() {Category = "book",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "疯狂"},
new VMArticle() {Category = "book",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "端点"},
new VMArticle() {Category = "book",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "等等"},
new VMArticle() {Category = "book",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "单独"}, new VMArticle() {Category = "phone",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "苹果"},
new VMArticle() {Category = "phone",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "小米"},
new VMArticle() {Category = "phone",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "华为"},
new VMArticle() {Category = "phone",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "三星"}, new VMArticle() {Category = "soft",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "微软"},
new VMArticle() {Category = "soft",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "甲骨文"},
new VMArticle() {Category = "soft",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "谷歌"},
new VMArticle() {Category = "soft",CreateDate = DateTime.Now,Id=,ImagePath = "",Name = "稀有",Price = ,Title = "亚马逊"}, }; return list;
}
}
}
}

示例 Code

3、View

部分视图

@using Webdiyer.WebControls.Mvc
@model PagedList<Huo.CMS.Web.Models.VMArticle>
<div class="product-list">
@foreach (var item in Model)
{
<div class="product-item">
<a href="~/product/item?id=@item.Id">
<img src="@item.ImagePath" />
<h6>@item.Title</h6>
<span class="when">创建时间:@item.CreateDate.ToString("yyyy-MM-dd") @item.CreateDate.ToString("HH:mm")</span>
<span class="where">作者:@item.Name</span>
<span class="price">打赏:<h3>¥@item.Price</h3></span>
<span class="level">分类:@item.Category</span>
</a>
</div>
}
</div>
<div class="pagenav">
@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex", ContainerTagName = "div", CssClass = "", CurrentPagerItemTemplate = "<a href=\"#\" class='on'>{0}</a>", DisabledPagerItemTemplate = "<a class=\"disabled\">{0}</a>", PagerItemTemplate = "" }).AjaxOptions(a => a.SetUpdateTargetId("ProductList").SetDataFormId("searchForm"))
</div>

主视图

@using Webdiyer.WebControls.Mvc
@model PagedList<Huo.CMS.Web.Models.VMArticle>
@{
ViewBag.Title = "Index";
} <div class="container">
@using (Ajax.BeginForm("Index", "Article", new RouteValueDictionary { { "pageIndex", "" } }, new AjaxOptions { UpdateTargetId = "ProductList", HttpMethod = "Get", InsertionMode = InsertionMode.Replace }, new RouteValueDictionary { { "id", "searchForm" }, { "class", "form-inline well well-sm" } }))
{
<div class="searchform">
<input type="text" name="search" placeholder="搜索考试名称" />
<button type="submit" id="btn">搜索</button>
<input type="hidden" id="date" name="date" />
<input type="hidden" id="category" name="category" />
</div>
<div class="product-mod">
<div class="product-tool">
<span>默认排序</span>
<dl class="subjectBox">
<dt>分类:</dt>
<dd class="info" onclick="SetCategory('book', this)">书籍</dd>
<dd class="info" onclick="SetCategory('phone', this)">手机</dd>
<dd class="info" onclick="SetCategory('soft', this)">软件</dd>
</dl>
<dl class="timeBox">
<dt>时间分类:</dt>
<dd class="info1" onclick="SetDate('Week', this)">近一周</dd>
<dd class="info1" onclick="SetDate('Month', this)">近一月</dd>
<dd class="info1" onclick="SetDate('Year', this)">近一年</dd>
</dl>
</div>
</div>
}
<div id="ProductList">
@{ Html.RenderPartial("_ArticleTable"); }
</div> </div> @Scripts.Render("~/Scripts/MvcPager.js")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
<script>
function SetDate(filter, ele) {
debugger;
var c = $(ele);
var b = c.hasClass("selected");
$(".info1", ".timeBox").removeClass("selected"); if (b) {
c.removeClass("selected");
$("#date").val("");
}
else {
c.addClass("selected");
$("#date").val(filter);
}
$("#btn").click(); }
function SetCategory(filter, ele) {
var c = $(ele);
var b = c.hasClass("selected");
$(".info", ".subjectBox").removeClass("selected"); if (b) {
c.removeClass("selected");
$("#category").val("");
}
else {
c.addClass("selected");
$("#category").val(filter);
}
$("#btn").click();
}
</script>

分页控件Webdiyer.MvcPager的更多相关文章

  1. .net分页控件webdiyer:AspNetPager

    首先下载:AspNetPager.dll   AspNetPager.xml  放到bin目录下 页面添加<%@ Register Assembly="AspNetPager" ...

  2. MvcPager 免费开源分页控件3.0版发布!

    MvcPager 3.0版在原2.0版的基础上进行了较大的升级,对MvcPager脚本插件重写并进行了大量优化.修复了部分bug并新增了客户端Javascript API等功能,使用更方便,功能更强大 ...

  3. MvcPager分页控件的使用

    1.引入MvcPager.dll(MvcPager分页控件:http://www.webdiyer.com/mvcpager/) 2.后台C# Controller: //Ddemo使用Webdiye ...

  4. MvcPager分页控件以适用Bootstrap

    随笔- 9  文章- 0  评论- 33  修改MvcPager分页控件以适用Bootstrap 效果(含英文版,可下载)   软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPag ...

  5. MvcPager分页控件使用注意事项!

    初学MVC,做了个单页面应用,需要显示多个分页,并无刷新更新. 找到了MvcPager控件,非常好用,在使用ajax过程中遇到很多问题.慢慢调试和杨老师(MvcPaegr作者)请教,总于都解决了. 首 ...

  6. 开源mvcpager分页控件分页实例

    最近MVC需要用到分页,然后在网上找了一圈,发现一个很好用的分页控件,在此要感谢作者的辛勤劳动. 下载Pager 这个分页控件也有Asp.net的支持,需要的去看看作者的主页 webdiyer 先看看 ...

  7. 基于存储过程的MVC开源分页控件--LYB.NET.SPPager

    摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...

  8. MVC——分页控件

    不管是什么类型的网站,分页都是必不可少的功能实现.在这里记录一下我自己接触过的分页控件: 一. MvcPager控件(记得项目里添加MvcPager.dll的引用) 这里面比较常用的就 ——@Html ...

  9. 基于存储过程的MVC开源分页控件

    基于存储过程的MVC开源分页控件--LYB.NET.SPPager 摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件M ...

随机推荐

  1. java日志框架系列(9):logback框架过滤器(filter)详解

    过滤器放在了logback-classic模块中. 1.logback-classic模块中过滤器 分类(2种):常规过滤器.TurboFilter过滤器. 1.常规过滤器 常规过滤器可以通过自定义进 ...

  2. windows自动化测试 (python)

    装插件 pywinauto 命令 pip install --upgrade pywinauto   最简单的一个例子,中文环境下   from pywinauto.application impor ...

  3. Python 【收发邮件】

    发邮件 smtplib模块主要负责发送邮件 email模块主要负责构造邮件.这两个都是Python内置模块 smtplib.SMTP.方法 #按住Ctrl键并点击SMTP ,会看到对SMTP的解释(v ...

  4. Git 版本恢复命令reset

    reset命令有3中方式: git reset -mixed: 此为默认方式,不带任何参数的git reset, 使用这种方式,项目会回退到某个版本,只保留源码,回退commit和index的信息. ...

  5. pandas之数据IO笔记

    pandas在进行数据存储与输出时会做一些相应的操作 1.*索引:将一个列或多个列读取出来构成DataFrame,其中涉及是否从文件中读取索引以及列名 2 *类型推断和数据转换:包括用户自定义的转换以 ...

  6. Nginx学习笔记(四):基本数据结构

    目录 Nginx的一些特点 Nginx自定义整数类型 异常机制错误处理 内存池 字符串 时间与日期 运行日志   Nginx的一些特点 高性能 采用事件驱动模型,可以无阻塞的处理海量并发连接 高稳定性 ...

  7. vsftp多个用户公享同一个文件,但是权限不同

    如标题:vsftp多个用户公享同一个文件,但是权限不同.如何做到呢.首先创建多个用户,并且指定同一个目录

  8. Idea 使用 Junit4 进行单元测试

    目录 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安装 2. 编写测试代码 3. 生成测试类 4. 运行 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安 ...

  9. 轻松搭建CAS 5.x系列(7)-在CAS Server使用第三方帐号做认证

    概述说明 CAS除了使用自身数据库配置的帐号体系外,也可以使用第三方帐号来做认证. 比如实现如下类似的红色标注部分的登录效果: CAS自带了Facebook.GitHub.WordPress和CAS的 ...

  10. (十)Activitivi5之启动流程/完成任务的时候设置流程变量

    一.启动流程的时候设置流程变量 1.1 案例 /** * 启动流程实例 */ @Test public void start() { Student student=new Student(); st ...