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. 部门innercode刷新

    最近遇到一个小需求,就是刷新部门的innercode.在导入数据的时候,innercode乱了,所以需要刷新.那先说说innercode是什么吧. 大家都知道部门是一个树形结构,但是有时候想知道一个部 ...

  2. laravle6.0-IOC-DI浅谈

    1.什么是IOC,DI IOC(Inversion of Control)控制反转:ioc意味着,你将自己设计好的对象交给容器来控制,而不是传统的在你的对象内部直接控制.比如: 人 操控 手机 做一些 ...

  3. 单例模式中volatile关键字的作用

    背景&问题 在早期的JVM中,synchronized存在巨大的性能开销.因此,有人想出了一个"聪明"的技巧:双重检查锁定(Double-Checked Locking). ...

  4. Dubbo#编译动态扩展类

    这篇排版有问题 后面修改....**** 以ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();为例 - ...

  5. springboot项目在IDEA根据不同的开发人员读取不同的配置文件

    IDEA启动项目打开项目的配置文件,修改Program argument为--spring.profiles.active=developerName启动项目,即可 命令行方式启动项目 java -j ...

  6. css 动画(一)transform 变形

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 有段时间我是没理清 transform.translate.transition 和 animation之 ...

  7. 怎样理解没有this的构造函数

    如果一个构造函数内部没有this, 那可以说这个压根不是构造函数, 因为他并不能返回一个实例对象; function Person(name) { var name = name; }; var li ...

  8. 面试经典算法:快速排序Golang实现

    Golang快速排序 定义 快速排序由C. A. R. Hoare在1962年提出.快速排序是对冒泡排序的一种改进,采用了一种分治的策略. 基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中 ...

  9. android 和 js 交互

    1.html代码 <script type="text/javascript"> function javacalljs(){ document.getElementB ...

  10. edk2中子目录介绍

    edk2中子目录介绍 来源 https://blog.csdn.net/rikeyone/article/details/80760204 参考:https://github.com/tianocor ...