jquery协作.NET完毕点击内定绑定数据同临时间能够一键下载

jquery合作.NET达成点击钦赐绑定数据同不常间能够一键下载,jquery.net

新近在做作育管理连串中遇到三个标题,供给需点击绑定的多寡,将点名的附属类小部件下载下来,况且是批量下载(绑定的数量非datagrid,后台拼接的绑定)。

功能图如下:

图片 1

粗粗思路:

1.jquery到手中选的绑定数据的id,将以此id赋值到数组中,最终将以此数组的值赋值给页面中开创的遮蔽变量

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

  首先html中div依照后台绑定

  

 <div id="downloadInfo" runat="server"></div>

 

  

说不上是下载附属类小部件的挑三拣四,利用jquery实现,而且将值赋值给页面中的遮蔽变量,代码如下:

 

// 下载附件的选择
    $attach = $("#download-list");
    var arr = []
    $attach.on('click', '.no', function () {
        $(this).toggleClass('checked');//设置和移除,选中与不选中
        if ($(this).hasClass('checked')) {
            var guid = $(this).children("#hidAttachGuid").val();
            arr.push(guid);//将guid添加到arr数组中

        }
        else
        {//取消选中时
            var guid = $(this).children("#hidAttachGuid").val();
            var n = arr.indexOf(guid);
            if (n != -1)
            arr.splice(n, 1);//将指定不选中的guid移除arr数组
        }
        $("[id$='arrayGuid']").val(arr);
    });

 

因为是后台拼接的,把button也凑合在了后台,后台button 调用js

<button type='button' class='one-download' onclick='download()'>一键下载</button>

function download() {
            $("#btnDownload").click();
        }

js触发遮掩button事件

 

      <asp:Button ID="btnDownload" OnClick="btnDownload_Click" Text="确定" runat="server" />
       <input type="text" id="arrayGuid" runat="server" />

 

后台一键打包下载代码:

protected void btnDownload_Click(object sender, EventArgs e)
        {
            //ZipFileByCode();
            string attachGuid = arrayGuid.Value;
            string[] sArray = attachGuid.Split(',');


            List<string> list = new List<string>();
            foreach (string i in sArray)
            {
               //这里是循环得到指定需要下载的所有id

            }

            Download(list, ""+lblCourseName.Text+"相关附件材料.rar");
        }

 public void ZipFileByCode()
        {
            MemoryStream ms = new MemoryStream();
            byte[] buffer = null;

            using (ZipFile file = ZipFile.Create(ms))
            {
                file.BeginUpdate();
                file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。

                file.Add(Server.MapPath("/Content/images/img01.jpg"));
                file.CommitUpdate();

                buffer = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(buffer, 0, buffer.Length);
            }


            Response.AddHeader("content-disposition", "attachment;filename=test.zip");
            Response.BinaryWrite(buffer);
            Response.Flush();
            Response.End();

        }

 private void Download(IEnumerable<string> files, string zipFileName)
        {
            //根据所选文件打包下载  
            MemoryStream ms = new MemoryStream();
            byte[] buffer = null;
            using (ZipFile file = ZipFile.Create(ms))
            {
                file.BeginUpdate();
                file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。  

                foreach (var item in files)
                {
                    file.Add(item);
                }
                //file.Add(Server.MapPath("../../BigFileUpLoadStorage/1.png"));
                file.CommitUpdate();
                buffer = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(buffer, 0, buffer.Length);
            }
            Response.AddHeader("content-disposition", "attachment;filename=" + zipFileName);
            Response.BinaryWrite(buffer);
            Response.Flush();
            Response.End();
        }

和pageload同层代码

 public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform
    {

        #region INameTransform 成员

        public string TransformDirectory(string name)
        {
            return null;
        }

        public string TransformFile(string name)
        {
            return Path.GetFileName(name);
        }

        #endregion
    }

累加零件:

 

近日在做培养和训练管理类别中碰到叁个标题,需要需点击绑定的数额,将点名的…

近些日子在做培养和陶冶管理系列中遭受叁个标题,需要需点击绑定的数目,将点名的附属类小部件下载下来,何况是批量下载(绑定的数额非datagrid,后台拼接的绑定)。

不久前在做作育管理体系中相见一个难题,要求需点击绑定的数码,将钦赐的附属类小部件下载下来,何况是批量下载(绑定的数额非datagrid,后台拼接的绑定)。

意义图如下:

效能图如下:

图片 2

图片 2

大要思路:

大约思路:

1.jquery收获中选的绑定数据的id,将以此id赋值到数组中,最终将那个数组的值赋值给页面中成立的潜伏变量

1.jquery拿到中选的绑定数据的id,将以此id赋值到数组中,最终将这些数组的值赋值给页面中开创的藏匿变量

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

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

  首先html中div依照后台绑定

  首先html中div依据后台绑定

  

  

 <div id="downloadInfo" runat="server"></div>
 <div id="downloadInfo" runat="server"></div>

发表评论

电子邮件地址不会被公开。 必填项已用*标注