博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
阅读量:7103 次
发布时间:2019-06-28

本文共 2269 字,大约阅读时间需要 7 分钟。

今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了。而目前easyui 1.4.x的jquery的版本已经到达1.11.x以上。

本以为不能再使用这个插件,但是发现还是有人重写了插件的方法让其支持jquery 1.11.x以上,最上面是下载地址。

不过有收费插件fancybox2.0,本身支持高版本的jquery,大家可以使用

使用fancybox非常简单。解压包下的index基本有所有例子

直接运行结果:

显示非常动感。

 以SysSample例子为例子     

必须让SysSample支持上传文件上传 

我之前只发布过多文件上传的源码,实际多文件上传里面也包含了单文件上传。

(整合你自己项目时候忽略easyui。可能是的表格插件是datatable,jqgrid,extjs等,但是基本同理)

修改Create.cshtml代码

                                    @Html.LabelFor(model => model.Photo):                                                        @Html.TextBoxFor(model => model.Photo)                                                        @Html.ValidationMessageFor(model => model.Photo)                            

                                    @Html.LabelFor(model => model.Photo):                                                    @Html.HiddenFor(model => model.Photo)                    
请稍候... @Html.ValidationMessageFor(model => model.Photo)
NotPic.jpg图片为 ,这个是我自己PS的丑图片(没有上传时显示的照片)

 
UploadJS方法

后台方法提取32节的upload_ajax.ashx文件即可

这样就完成支持单文件上传了

别忘记加入CSS

 
View Code

运行结果:

记得添加多点数据,这样才比较好看

运行结果

datagrid代码

 
index.cshtml
{                    field: 'Photo', title: '照片', width: 100, align: 'center', formatter: function (value, row, index) {                        return 'example';                    }                },

核心代码解析。这段代码来源于fancybox插件的第一个样例代码。

但是插件代码只演示了ID方式的显示,我们需要变通一下用class而已(下面是easyui逐行生成后的代码)

example

所以我们在初始化时候必须使用class方式:即

$("a.example").fancybox();

代码必须写在datagrid加载之后。不能写在$(function(){});里面。因为$(function(){});比datagrid初始化可能更快

onLoadSuccess: function (data) {

  $("a.example").fancybox();
},

运行结果:

如果你的记录支持多张图片。那么必须再新建一张图片子表来关联。

然后用到样例中的:多张显示

代码用组的方式:

$("a[rel=example_group]").fancybox({                'transitionIn'        : 'none',                'transitionOut'        : 'none',                'titlePosition'     : 'over',                'titleFormat'        : function(title, currentArray, currentIndex, currentOpts) {                    return 'Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '';                }            });

本文到此为止!有兴趣下载32节代码。来改装一下

 本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/5202358.html,如需转载请自行联系原作者

你可能感兴趣的文章
冰箱保鲜标准出炉,行业或迎新纪元
查看>>
十三、添加RD 会话主机角色
查看>>
Android笔记--一个图片+文字的自定义按钮
查看>>
Android/Java 读、写MP3文件ID3V1信息
查看>>
企业开展智能制造,将会存在和带来哪些风险?
查看>>
从Kubernetes 1.14 发布,看技术社区演进方向
查看>>
PHP源码:方维o2o本地生活服务系统v2.2多城市商业版
查看>>
Websense:Android的安全性令人担忧
查看>>
Office 365 系列之四:添加自定义域
查看>>
Android应用程序启动过程——Launcher源码分析
查看>>
(实战)从关联表中取得JSON数据
查看>>
maven添加repository仓库
查看>>
vSAN 6.0设计与规模设定——vSAN设计概览
查看>>
zabbix邮件报警之完整总结
查看>>
我的友情链接
查看>>
Windows 10:现代化世界中安全与身份的守卫者
查看>>
查找相关数据结构和算法
查看>>
Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析(下)
查看>>
我的友情链接
查看>>
将命名规范的一些列文件合并成一个完整的文件
查看>>