下载文件

本文介绍了一个基于客户端和服务器端交互实现的模板导出功能。客户端通过点击按钮触发导出操作,服务器端根据传递的模板ID从数据库中读取对应模板,并将其转换为XML格式供下载。此过程涉及字符串处理、数据库连接、XML文档操作及HTTP响应设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 客户端:点击下载button:

   function ExportTempDef()
    {
        var hfTId = $('hfTemDefId');
        hfTId.value = "Export_"+currentTempDefID;
        document.forms[0].submit();
        hfTId.value = "";
    }

 

服务器端:

page_load 事件:

if (this.hfTemDefId.Value.StartsWith("Export", true, null)) // Export Form Template.
        {
            string[] strArr = this.hfTemDefId.Value.Split('_');
            string tempDefID = strArr[1];
            try
            {
                using (CWrapConn conn = new CWrapConn(System.Configuration.ConfigurationManager.ConnectionStrings["DBString"].ConnectionString))
                {
                    long lTempDefID = Convert.ToInt64(tempDefID);
                    XmlDocument xmlDoc = TemplateDB.ExportTemplate(lTempDefID);
                    if (xmlDoc != null)
                    {
                        string strExportName = GetExportTempName(lTempDefID);
                        Response.ContentType = "application/ftf";
                        Response.AddHeader("Content-disposition", "attachment; filename=" + strExportName + ".ftf");

                        StringBuilder sb = new StringBuilder();
                        XmlWriterSettings settings = new XmlWriterSettings();
                        settings.Indent = true;
                        settings.IndentChars = ("    ");
                        settings.OmitXmlDeclaration = false;
                        //XmlWriter xw = XmlWriter.Create(Response.OutputStream);
                        XmlWriter xw = XmlWriter.Create(sb, settings);
                        xmlDoc.WriteTo(xw);
                        xw.Flush();

                        StreamWriter sw = new StreamWriter(Response.OutputStream);
                        //sw.Write(xmlDoc.OuterXml);
                        sw.Write(sb.ToString());
                        sw.Flush();

                        Response.End();
                             }
                       }
                    return;
                }
            }catch (Exception ex)
            {
                if (ex is ThreadAbortException)
                {
                    throw ex;
                }
         }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值