写在前面

本篇文章将实现应用列表,同样和其他列表的不同之处,在于查询条件的不同。

系列文章

[EF]vs15+ef6+mysql code first方式

[实战]MVC5+EF6+MySql企业网盘实战(1)

[实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册

[实战]MVC5+EF6+MySql企业网盘实战(3)——验证码

[实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

[Bootstrap]modal弹出框

[实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩

[实战]MVC5+EF6+MySql企业网盘实战(5)——页面模板

[实战]MVC5+EF6+MySql企业网盘实战(5)——ajax方式注册

[实战]MVC5+EF6+MySql企业网盘实战(6)——ajax方式登录

[实战]MVC5+EF6+MySql企业网盘实战(7)——文件上传

[实战]MVC5+EF6+MySql企业网盘实战(8)——文件下载、删除

[实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名

[实战]MVC5+EF6+MySql企业网盘实战(10)——新建文件夹

[实战]MVC5+EF6+MySql企业网盘实战(11)——新建文件夹2

[实战]MVC5+EF6+MySql企业网盘实战(12)——新建文件夹和上传文件

[实战]MVC5+EF6+MySql企业网盘实战(13)——编辑文件夹

[实战]MVC5+EF6+MySql企业网盘实战(14)——逻辑重构

[实战]MVC5+EF6+MySql企业网盘实战(14)——思考

[实战]MVC5+EF6+MySql企业网盘实战(15)——逻辑重构2

[实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3

[实战]MVC5+EF6+MySql企业网盘实战(17)——思考2

[实战]MVC5+EF6+MySql企业网盘实战(18)——文件上传,下载,修改

[实战]MVC5+EF6+MySql企业网盘实战(19)——BJUI和ztree

[实战]MVC5+EF6+MySql企业网盘实战(20)——Bootstrap Paginator

[实战]MVC5+EF6+MySql企业网盘实战(21)——网盘操作日志

[实战]MVC5+EF6+MySql企业网盘实战(22)——图片列表

[实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表

[实战]MVC5+EF6+MySql企业网盘实战(24)——视频列表

[实战]MVC5+EF6+MySql企业网盘实战(25)——种子列表

[实战]MVC5+EF6+MySql企业网盘实战(26)——音乐列表

[实战]MVC5+EF6+MySql企业网盘实战(27)——应用列表

实现

查询添加还是以文件对应的图标来进行筛选。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;
using Wolfy.NetDisk.BLL;
using Wolfy.NetDisk.IBLL;
using Wolfy.NetDisk.Model;
using Wolfy.NetDisk.Site.Models; namespace Wolfy.NetDisk.Site.Controllers
{
public class ExesController : Controller
{
private IMyFileServiceRepository _myFileServiceRepository = new MyFileServiceRepository(); private ILogServiceRepository _logServiceRepository = new LogServiceRepository();
private IFileTypeServiceRepository fileTypeServiceRepository = new FileTypeServiceRepository();
//
// GET: /Images/
public ActionResult Lists()
{
UserInfo user = Session["user"] as UserInfo;
if (user == null)
{
return RedirectToAction("Login", "UserInfo");
}
return View();
}
[HttpGet]
public JsonResult GetApks()
{
UserInfo userInfo = Session["user"] as UserInfo;
int page = Convert.ToInt32(Request.Params["page"]);
if (page <= )
{
page = ;
}
if (userInfo == null)
{
RedirectToAction("Login", "UserInfo");
}
int pageSize = ;
int recordCount = ;
var documentPaged = _myFileServiceRepository.FindPaged<DateTime>(page, pageSize, out recordCount, x => x.User.Id == userInfo.Id && x.IsDelete == false && (x.FileIcon.Contains("ApkType.png")), false, x => x.CreateDt);
int totalPage = Convert.ToInt32(Math.Ceiling(recordCount * 1.0 / pageSize));
List<MyFileViewModel> lstMyFileViewModel = new List<MyFileViewModel>();
foreach (var item in documentPaged)
{
lstMyFileViewModel.Add(new MyFileViewModel()
{
Id = item.Id,
FileIcon = item.FileIcon,
FileServerUrl = "/NetDisk/" + item.FileMd5 + item.FileExt,
Name = item.Name,
FileThumnailUrl = string.Empty,
Size = item.FileSize,
Dt = item.CreateDt
});
}
return new JsonResult() { Data = new JavaScriptSerializer().Serialize(new { _data = lstMyFileViewModel, _code = , total = totalPage }), JsonRequestBehavior = JsonRequestBehavior.AllowGet };
} }
}

前端

<script>

    $(function () {
var imgElement = $('#docmentpage');
var options = {
size: "large",
bootstrapMajorVersion: ,
//当前页
currentPage: ,
//可以改变显示的页码数
numberOfPages: ,
//总页数
totalPages:
};
function requestServer(pageIndex) {
$.getJSON('/Exes/GetApks?page=' + pageIndex, function (data) {
console.log(data);
data = JSON.parse(data);
if (data.total <= pageIndex) {
options.totalPages = pageIndex;
} else {
options.totalPages = data.total;
}; $('#dvdocument').html('');
$('<table class="table table-bordered table-hover table-striped table-top" id="tbdocument"><tr><th>文件名</th> <th>文件大小</th><th>创建时间</th> </tr></table>').appendTo($('#dvdocument'));;
for (var i = ; i < data._data.length; i++) {
var current = data._data[i];
$('<tr><td data-id=' + current.Id + '><img src="' + current.FileIcon + '">' + current.Name + '</td><td>' + current.Size + '</td><td>' + ChangeDateFormat(current.Dt) + '</td></tr>').appendTo($('#tbdocument'));
};
imgElement.bootstrapPaginator(options); });
};
function loadData(pageIndex) { options.onPageClicked = function (e, originalEvent, type, page) {
//页码单击事件
console.log(page);
options.currentPage = page; requestServer(page); };
requestServer(pageIndex);
imgElement.bootstrapPaginator(options); }; loadData();
});
</script>
<div class="tableContent" style="width:95%;" id="dvdocument"> </div>
<div style="width:95%;position:relative;margin-top:10px">
<ul id='docmentpage' class="bjui-pageFooter" style="margin:0 auto; margin-left:30%;"></ul>
</div>

测试

总结

废话不多少,都在代码里。

[实战]MVC5+EF6+MySql企业网盘实战(27)——应用列表的更多相关文章

  1. [实战]MVC5+EF6+MySql企业网盘实战(28)——其他列表

    写在前面 本篇文章将实现,其他文件类型的列表. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF ...

  2. [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

    写在前面 最近又开始忙了,工期紧比较赶,另外明天又要去驾校,只能一个功能一个功能的添加了,也许每次完成的功能确实不算什么,等将功能都实现了,然后在找一个好点的ui对前端重构一下. 系列文章 [EF]v ...

  3. [实战]MVC5+EF6+MySql企业网盘实战(2)——验证码

    写在前面 断断续续,今天算是把验证码的东东弄出来了. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5 ...

  4. [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册

    写在前面 上篇文章简单介绍了项目的结构,这篇文章将实现用户的注册.当然关于漂亮的ui,这在追后再去添加了,先将功能实现.也许代码中有不合适的地方,也只有在之后慢慢去优化了. 系列文章 [EF]vs15 ...

  5. [实战]MVC5+EF6+MySql企业网盘实战(1)

    写在前面 不久前,一个朋友让帮他弄一个单位的企业网盘的管理站点,一直忙,最近抽出了点时间,也想琢磨琢磨mvc,ef,mysql,这算是边琢磨,边实践吧. 系列文章 [实战]MVC5+EF6+MySql ...

  6. [实战]MVC5+EF6+MySql企业网盘实战(26)——音乐列表

    写在前面 本篇文章将实现,音乐列表,同样和其他列表的不同之处,在于查询条件的不同. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网 ...

  7. [实战]MVC5+EF6+MySql企业网盘实战(25)——种子列表

    写在前面 上篇文章实现了视频列表,本篇文章继续实现其他的文件列表.功能相似.这里就不再赘述. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MyS ...

  8. [实战]MVC5+EF6+MySql企业网盘实战(24)——视频列表

    写在前面 上篇文章实现了文档列表,所以实现视频列表就依葫芦画瓢就行了. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) ...

  9. [实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表

    写在前面 上篇文章实现了图片列表,这篇文章实现文档列表将轻车熟路,因为逻辑基本相似,只是查询条件的不同.这里将txt,doc,docx,ppt,pptx,xls,xlsx的文件都归为文档列表中. 系列 ...

随机推荐

  1. JS案例之1——pager 分页

    学习JS大半年之久,第一次自己尝试写一些小插件,写法参考网上某位牛人写代码的思路. 此处代码写的是静态分页.如果需动态分页,还可以修改下.第一次写,还有很多地方可以优化.希望各位大牛踊跃拍砖. 预览图 ...

  2. WebSocket 服务器4

    Java Websocket实例 Websocket   2015-04-11 14:11:54 发布 您的评价:       4.4   收藏     6收藏 介绍 现很多网站为了实现即时通讯,所用 ...

  3. OpenCV Start

    开始学习opencv了. 从官网下载了 opencv-3.0.0-alpha.exe(windows版本) opencv-3.0.0-alpha.zip (linux版本) 从windows版本的安装 ...

  4. .tostring()格式化大全

    C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...

  5. EasyUI之Form load函数IE8下设置Radio或Checkbox的BUG

    EasyUI的form的load函数很好用,表单赋值就靠它了,简单方便.我们可以指定url以Ajax加载,如: 1: $('#ff').form('load', 'ajax/common') JSON ...

  6. Code Hunters: Hello, world!

    大家好!我们是来自MSRA联合培养班的Code Hunters小组,在未来三个月时间里我们将与殷秋丰老师一起学习高级软件工程这门课. 我们小组共有五名分别来自享誉海内外的中国科学技术大学和北京航空航天 ...

  7. unicode和gbk的互相转换

    unicode和gbk的互相转换主要依靠window下的escape和unescape方法,然后把%u替换成\u就好了; var GB2312UnicodeConverter = { ToUnicod ...

  8. jdownload的使用

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. Java编程思想学习(六) 多态

    1.Java语言的三大特性:继承.封装和多态. 继承:复用类的一种方法,可以简省很多代码: 封装:通过合并特征和行为来创建新的数据类型.[这种“数据类型”跟Java本身提供的8大“基本数据类型”的地位 ...

  10. 以一个权限系统来告别WebForm —开篇

     前言: 当今是互联网的时代,我们己经阻止不了它的发展了,只有跟上脚步,才不会被抛弃,松散了这么久,该紧紧了.  背景: 我之所以说以一个权限应用系统来告别我的WebForm内部系统的生涯,是缘于我自 ...