写在前面

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

系列文章

[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)——音乐列表

实现

服务端

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using System.Web.Script.Serialization;
  7. using Wolfy.NetDisk.BLL;
  8. using Wolfy.NetDisk.IBLL;
  9. using Wolfy.NetDisk.Model;
  10. using Wolfy.NetDisk.Site.Models;
  11.  
  12. namespace Wolfy.NetDisk.Site.Controllers
  13. {
  14. public class MusicController : Controller
  15. {
  16. // GET: /Videos/
  17. private IMyFileServiceRepository _myFileServiceRepository = new MyFileServiceRepository();
  18.  
  19. private ILogServiceRepository _logServiceRepository = new LogServiceRepository();
  20. private IFileTypeServiceRepository fileTypeServiceRepository = new FileTypeServiceRepository();
  21. //
  22. // GET: /Images/
  23. public ActionResult Lists()
  24. {
  25. UserInfo user = Session["user"] as UserInfo;
  26. if (user == null)
  27. {
  28. return RedirectToAction("Login", "UserInfo");
  29. }
  30. return View();
  31. }
  32. [HttpGet]
  33. public JsonResult GetMusics()
  34. {
  35. UserInfo userInfo = Session["user"] as UserInfo;
  36. int page = Convert.ToInt32(Request.Params["page"]);
  37. if (page <= )
  38. {
  39. page = ;
  40. }
  41. if (userInfo == null)
  42. {
  43. RedirectToAction("Login", "UserInfo");
  44. }
  45. int pageSize = ;
  46. int recordCount = ;
  47. var documentPaged = _myFileServiceRepository.FindPaged<DateTime>(page, pageSize, out recordCount, x => x.User.Id == userInfo.Id && x.IsDelete == false && (x.FileIcon.Contains("MusicType.png")), false, x => x.CreateDt);
  48. int totalPage = Convert.ToInt32(Math.Ceiling(recordCount * 1.0 / pageSize));
  49. List<MyFileViewModel> lstMyFileViewModel = new List<MyFileViewModel>();
  50. foreach (var item in documentPaged)
  51. {
  52. lstMyFileViewModel.Add(new MyFileViewModel()
  53. {
  54. Id = item.Id,
  55. FileIcon = item.FileIcon,
  56. FileServerUrl = "/NetDisk/" + item.FileMd5 + item.FileExt,
  57. Name = item.Name,
  58. FileThumnailUrl = string.Empty,
  59. Size = item.FileSize,
  60. Dt = item.CreateDt
  61. });
  62. }
  63. return new JsonResult() { Data = new JavaScriptSerializer().Serialize(new { _data = lstMyFileViewModel, _code = , total = totalPage }), JsonRequestBehavior = JsonRequestBehavior.AllowGet };
  64. }
  65. }
  66. }

前端

  1. @{
  2. ViewBag.Title = "Lists";
  3. Layout = "~/Views/Shared/_Layout.cshtml";
  4. }
  5.  
  6. <script>
  7.  
  8. $(function () {
  9. var imgElement = $('#docmentpage');
  10. var options = {
  11. size: "large",
  12. bootstrapMajorVersion: ,
  13. //当前页
  14. currentPage: ,
  15. //可以改变显示的页码数
  16. numberOfPages: ,
  17. //总页数
  18. totalPages:
  19. };
  20. function requestServer(pageIndex) {
  21. $.getJSON('/Music/GetMusics?page=' + pageIndex, function (data) {
  22. console.log(data);
  23. data = JSON.parse(data);
  24. if (data.total <= pageIndex) {
  25. options.totalPages = pageIndex;
  26. } else {
  27. options.totalPages = data.total;
  28. };
  29.  
  30. $('#dvdocument').html('');
  31. $('<table class="table table-bordered table-hover table-striped table-top" id="tbdocument"><tr><th>文件名</th> <th>文件大小</th><th>创建时间</th> </tr></table>').appendTo($('#dvdocument'));;
  32. for (var i = ; i < data._data.length; i++) {
  33. var current = data._data[i];
  34. $('<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'));
  35. };
  36. imgElement.bootstrapPaginator(options);
  37.  
  38. });
  39. };
  40. function loadData(pageIndex) {
  41.  
  42. options.onPageClicked = function (e, originalEvent, type, page) {
  43. //页码单击事件
  44. console.log(page);
  45. options.currentPage = page;
  46.  
  47. requestServer(page);
  48.  
  49. };
  50. requestServer(pageIndex);
  51. imgElement.bootstrapPaginator(options);
  52.  
  53. };
  54.  
  55. loadData();
  56. });
  57. </script>
  58. <div class="tableContent" style="width:95%;" id="dvdocument">
  59.  
  60. </div>
  61. <div style="width:95%;position:relative;margin-top:10px">
  62. <ul id='docmentpage' class="bjui-pageFooter" style="margin:0 auto; margin-left:30%;"></ul>
  63. </div>

测试

总结

代码很简单,不再赘述了。

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

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

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

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

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

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

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

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

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

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

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

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

    写在前面 不久前,一个朋友让帮他弄一个单位的企业网盘的管理站点,一直忙,最近抽出了点时间,也想琢磨琢磨mvc,ef,mysql,这算是边琢磨,边实践吧. 系列文章 [实战]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. HDU 4584 splay

    Shaolin Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  2. 配置ntpd时钟同步服务

    ntpd时钟同步服务 目录 参考: CentOS配置时间同步NTP: http://www.crsay.com/wiki/wiki.php/server/centos/ntp-set 解决ntp的错误 ...

  3. virt-manager管理器新建虚拟机时出错:unsupported format character

    启动管理器出错:unsupported format character ‘��0xffffffef) at index 30 经验证,解决办法如下: 1.获取virt-manager的rpm包,并强 ...

  4. OpenCV---Canny边缘提取

    一:Canny算法介绍 Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是: 好的检测- 算法能够尽可能多地标识出图像中的实际边缘. 好的定位- 标识出的边缘要尽可能与实际图像中的实 ...

  5. shell多进程的实现

    需求:多个脚本彼此互不干涉,同时运行,节省时间 菜鸟级实现: #!/bin/sh dir="/data/test" $dir/sbin/test1.sh >> $dir ...

  6. LintCode 397: Longest Increasing Continuous Subsequence

    LintCode 397: Longest Increasing Continuous Subsequence 题目描述 给定一个整数数组(下标从0到n - 1,n表示整个数组的规模),请找出该数组中 ...

  7. virtual和abstract的区别和联系

    壹. 相同 他们有些相似.有些场景用哪个都行!   1. 修饰父类.让子类重写 virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 2. 都用必须public 如 ...

  8. 从INT_MAX和INT_MIN看补码

    刷一道题的时候遇到INT_MAX和INT_MIN的问题,有些东西忘了,梳理一下. INT_MAX为2147483647,INT_MIN为-2147483648,为什么MIN的绝对值比MAX多1呢,因为 ...

  9. Git其他的命令------(四)

    git除了在工作当中可以进行对代码进行管理的设置之外,git的其他指令也偶尔会被用到~ 1:删除某一个文件:   rm -rf node,然后按下tab 2:查看修改文件的修改的详细信息:  git ...

  10. linux 查看内存和cpu占用比较多的进程

    1.可以使用一下命令查使用内存最多的10个进程        ps -aux | sort -k4nr | head -n 102. 可以使用一下命令查使用CPU最多的10个进程        ps ...