宝哥软件园

jquery配合 网实现点击指定绑定数据并且能够一键下载

编辑:宝哥软件园 来源:互联网 时间:2021-09-13

最近在做培训管理系统中遇到一个问题,需求需点击绑定的数据,将指定的附件下载下来,并且是批量下载(绑定的数据非数据网格,后台拼接的绑定)。

效果图如下:

大体思路:

1.jquery得到选中的绑定数据的id,将这个编号赋值到数组中,最后将这个数组的值赋值给页面中创建的隐藏变量

2.后台获取到隐藏变量的值,并将它循环数组取值,得到绑定值的下载地址,最后打包下载

首先超文本标记语言中差异根据后台绑定

div id=' DownLoadInfo ' runat=' server '/div其次是下载附件的选择,利用jquery实现,并且将值赋值给页面中的隐藏变量,代码如下:

//下载附件的选择$ attach=$(" # download-list ");var arr=[] $attach.on('click ',').no ',function () { $(this).toggleClass('选中');//设置和移除,选中与不选中if ($(this).具有类(' checked '){ var guid=$(this).子代(' #hidAttachGuid ').val();由…改编push(guid);//将全局唯一标识符添加到到达)数组中} else {//取消选中时var guid=$(this).子代(' #hidAttachGuid ').val();var n=arr。index of(guid);if (n!=-1) arr.splice(n,1);//将指定不选中的全局唯一标识符移除到达)数组} $('[id$='arrayGuid']').val(arr);});因为是后台拼接的,把按钮也拼接在了后台,后台按钮调用射流研究…

button type=' button ' class=' one-download ' onclick=' download()'一键下载/button函数download(){ $(' # btnDownload ').单击();}js触发隐藏按钮事件

span style=' display : none ' ASP :按钮ID=' btnDownload ' OnClick=' btnDownload _ Click ' Text='确定runat='server' /输入类型=' text ' id=' ArrayGuid ' runat=' server '/span后台一键打包下载代码:

受保护的void btnDownload_Click(对象发送者,事件参数e){//ZipFileByCode();字符串attachGuid=arrayGuid .价值;字符串[] sArray=attachGuid .拆分(',');Liststring list=new Liststring();foreach(SarRay中的字符串I){//这里是循环得到指定需要下载的所有id }下载(列表,' ' lblCourseName ."文本"相关附件材料. rar’;} public void ZipFileByCode(){内存流ms=new memory stream();byte[]buffer=null;使用(ZipFile文件=ZipFile .创建(毫秒){文件BeginUpdate();文件name transform=new MyNameTransform();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在活力中创建有关的文件夹文件。添加(服务器. MapPath('/Content/images/img 01。jpg’);文件提交更新();缓冲区=新字节[毫秒长度];毫秒位置=0;毫秒读取(缓冲区,0,缓冲区。长度);}回应添加标题('内容处置','附件;文件名=测试。zip ');回应. BinaryWrite(缓冲区);回应flush();回应end();}私人无效下载(IEnumerablesting文件,字符串zipFileName) { //根据所选文件打包下载内存流ms=新内存流();byte[]buffer=null;使用(ZipFile文件=ZipFile .创建(毫秒){文件BeginUpdate();文件name transform=new MyNameTransform();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在活力中创建有关的文件夹foreach(文件中的定义变量项目){文件.添加(项目);}//文件。添加(服务器. MapPath(")././BigFileUploadStorage/1。png ');文件提交更新();缓冲区=新字节[毫秒长度];毫秒位置=0;毫秒读取(缓冲区,0,缓冲区。长度);}回应添加标题('内容处置','附件;文件名=' Zipfilename ');回应. BinaryWrite(缓冲区);回应flush();回应end();}和页面加载同层代码

公共类myname transform : icsharp code .SharpZipLib。核心。在metransform中{ # region in metransform成员公共字符串TransformDirectory(字符串名称){返回null}公共字符串TransformFile(字符串名称){返回路径. GetFileName(名称);} #endregion }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+