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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[实战]MVC5+EF6+MySql企业网盘实战(28)——其他列表相关的知识,希望对你有一定的参考价值。

写在前面

本篇文章将实现,其他文件类型的列表。

系列文章

[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)——应用列表

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

实现

这里同样很好实现,因为在上传文件的时候,已经通过文件的图标进行区别了,这里查找的时候,只需根据图标筛选就行了。

技术分享
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 OtherController : 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 GetOthers()
        {
            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("OtherType.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 };
        }
    }
}
View Code

前端代码

技术分享
@{
    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(/Other/GetOthers?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>
View Code

测试

技术分享

总结

页面上面的除了我的分享功能,其他的功能基本上都实现了。

以上是关于[实战]MVC5+EF6+MySql企业网盘实战(28)——其他列表的主要内容,如果未能解决你的问题,请参考以下文章

网盘下载2020年最新 MySQL集群实战

MySQL集群实战 网盘分享

IT课程:MySQL集群实战 网盘分享

Spring+MYBatis企业应用实战pdf高清版免费下载

IT互联网技术分享:《2020年 MySQL集群实战》网盘资源

(在线观看) MySQL实战45讲(百度网盘分享下载)