写在前面

上篇文章实现了文档列表,所以实现视频列表就依葫芦画瓢就行了。

系列文章

[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)——视频列表

实现

前端代码

@{ViewBag.Title = "Lists";Layout = "~/Views/Shared/_Layout.cshtml";
}<script>$(function () {var imgElement = $('#docmentpage');var options = {size: "large",bootstrapMajorVersion: 3,//当前页currentPage: 1,//可以改变显示的页码数numberOfPages: 5,//总页数totalPages: 5};function requestServer(pageIndex) {$.getJSON('/Videos/GetVideos?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 = 0; 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(1);});
</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>

服务端代码

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 VideosController : Controller{//// GET: /Videos/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 GetVideos(){UserInfo userInfo = Session["user"] as UserInfo;int page = Convert.ToInt32(Request.Params["page"]);if (page <= 0){page = 1;}if (userInfo == null){RedirectToAction("Login", "UserInfo");}int pageSize = 10;int recordCount = 0;var documentPaged = _myFileServiceRepository.FindPaged<DateTime>(page, pageSize, out recordCount, x => x.User.Id == userInfo.Id && x.IsDelete == false && (x.FileIcon.Contains("VideoType.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 = 200, total = totalPage }), JsonRequestBehavior = JsonRequestBehavior.AllowGet };}}
}

测试

总结

想着这样实现有点不太完美,弄成视频缩略图列表就更完美了。

转载于:https://www.cnblogs.com/wolf-sun/p/5103626.html

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

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

    写在前面 本篇文章将新建文件夹的逻辑也进行一下修改. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5 ...

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

    写在前面 上篇文章修改文件上传的逻辑,这篇修改下文件下载的逻辑. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实 ...

  3. mvc5 ef6 mysql_[实战]MVC5+EF6+MySql企业网盘实战(17)——思考2

    写在前面 今天吃饭回来,突然有一个更好的想法,这里做一下记录. 系列文章 [实战]MVC5+EF6+MySql企业网盘实战(17)--思考2 思路 平时如果要获取电脑上的文件,大都会采用递归的方式,所 ...

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

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

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

    写在前面 之前的上传文件的功能,只能上传到根目录,前两篇文章实现了新建文件夹的功能,则这里对上传文件的功能进行适配. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战] ...

  6. 上传头像mysql_上传头像 - MVC5+EF6+MySql企业网盘实战 - 爱整理

    写在前面 最近又开始忙了,工期紧比较赶,另外明天又要去驾校,只能一个功能一个功能的添加了,也许每次完成的功能确实不算什么,等将功能都实现了,然后在找一个好点的ui对前端重构一下. 示例 这里采用最简单 ...

  7. SQL注入实战————1、MySQL手工注入实战

    无意中发现了一个巨牛巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,小白也能学,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 日程管理   http:// ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...) 开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联 ...

最新文章

  1. FIR滤波器设计(包括Verilog HDL设计以及MATLAB设计)
  2. 不可错过的javascript迷你库
  3. ASP.NET MVC- Upload File的例子
  4. (转)jQuery 基础
  5. 使用 Syslog 连接外部解决方案
  6. Android版添加phonegap---为APP添加CNZZ统计插件教程
  7. 年终总结 | 从Oracle到MySQL大家最关注的竟然是...
  8. 5G套餐月资费感受下:最低325元 仅提供8GB数据流量
  9. vue使用国密(sm2)
  10. HTML中form这么分三个table做,HTML:前端基础 表格 Table 使用
  11. python numpy计算任意底数的对数 log
  12. IP Catalog与Create Block Design调用软核的不同
  13. 第一轮通知 | 5月11-13日,中国肠道大会!
  14. 矩阵论代码实践之满秩分解
  15. Go语言中的complex(复数)
  16. Java如何判断字符串中包含有全角,半角符号
  17. python中表示类的公有成员_在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。...
  18. 湖南大学基于SMTP和POP3的邮件系统课程设计
  19. War3地图编辑器基础:自动刷兵
  20. 如何使用python在一个图片内显示多个函数图像及其数学公式

热门文章

  1. .Net 站点跨域问题及解决方法
  2. 解决Glyphicons 字体不显示问题的两种解决方案
  3. 将asp.net webapi的运行时版本由4.0升级到4.5.1时遇到的问题及解决
  4. hashMap异常:java.util.ConcurrentModificationException
  5. ubuntu16.04下安装openssh-server报依赖错误的解决方法
  6. 解决Python开发中,Pycharm中无法使用中文输入法问题
  7. 使用XMLHttpRequest发送POST数据
  8. ViewPager PagerAdapter未更新视图
  9. win11通知怎么关闭
  10. ros开发增加clion常用模板及初始化配置(五)