`
star65225692
  • 浏览: 277271 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

Asp.net获取Web打印次数

 
阅读更多

   在用户单击“确认”按钮开始打印时,控件向服务端发送一个HTTPPOST 消息,这样服务端收到此消息后就可以记录在什么时候打印了报表,对于打印了什么报表,是何人打印的,我们可以在POST 消息中加上这两个参数或者用Session 就可以解决这个问题。

     下面我详细的讲解一下怎样利用我设计的Web 打印控件实现获取Web 打印的实际打印次数。讲解以ASP.NET 为例,当然其它语言也可以举一反三,很容易实现。因为调用打印控件统一是JavaScirpt ,提交服务器的数据是Http 协议的Post 方式,这些都是通用的。

     获取Web 打印的实际打印次数的部分代码如下:

           string FileValue, PrintValue, ParaName, ParaValue;

            FileValue = FileToString(".\\Frp\\DepositAmt.fr3");
            ParaName = "ShopName`~PrintDepositAdd`~PrintPaperNo`~Title";  //`~为各参数的分隔符
            ParaValue = "测试酒楼"
                      + "`~说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。       贵重物品请交前台寄存,未寄存丢失自负。      谢谢!"
                      + "`~身份证:4325011980639512"
                      + "`~押金单";

            SqlConnection ConPrintTest = new SqlConnection(ConfigurationManager.ConnectionStrings["PrintTestConnectionString"].ToString());
            ConPrintTest.Open();
            DataSet DsCashLog = new DataSet();
            SqlDataAdapter DaCashLog = new SqlDataAdapter("Select top 1 CashNo, CashDate, CashAmt, PayName, GuestName, RoomNo, ItemRemark, CashUserName, Remark From CashLog", ConPrintTest);
            DaCashLog.FillSchema(DsCashLog, SchemaType.Source, "CashLog");
            DaCashLog.Fill(DsCashLog, "CashLog");

            PrintValue = TableToXml(DsCashLog.Tables["CashLog"]);

            DsCashLog.Dispose();
            ConPrintTest.Close();Ext.grid.EditorGridPanel 中combo的显示异常


            string ScriptStr;

            ScriptStr = "<script language='javascript'>window.onload = function() { try { var ObjPrintMange =  new ActiveXObject('WebPrint.WebPrintUnit'); } catch(e) { if( confirm('打印控件未安装,现在下载吗?') ) { window.location='./PrintActivex.exe'; } return; } var OldVersion=ObjPrintMange.Version; NewVerion='5.0(2011-08-01)'; if(OldVersion < NewVerion) { ObjPrintMange = null; alert('打印控件需升级。请先进行下载,下载后关闭IE,然后安装升级版。'); window.location='./PrintActivex.exe'; return;  } "
                     + " ObjPrintMange.CheckReg('公司名称', '3B8E5B998A3125EE89983EA940BB2AEE'); "  //注册码
                     + " ObjPrintMange.PrintURL='http://www.xinyuerj.com/ASPPost/PrintNum.asp?FileName=DepsitAmt.fr3'; "
                     + "ObjPrintMange.ShowReport('"
                     + FileValue + "' , '"
                     + ParaName + "', '"
                     + ParaValue + "', '"
                     + PrintValue + "', '', '', '', '', '');"
                     + "ObjPrintMange = null; } </script>";
            ScriptStr = ScriptStr.Replace(System.Environment.NewLine, string.Empty);

            Response.Write(ScriptStr);

PrintURL 属性,设置此属性,则在报表打印时,在弹出的选择打印机的窗口后点击“确定”按钮时,通过HttpPost 方式直接提交到所设置的URL 页面,用户可以在URL 处理用户已打印的份数。Post 的字段名指定为PrintCopy ,此参数为用户打印时所选择的份数,默认为1

   接收实际打印的消息的代码如下:手与iPad2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;

namespace Upload
{
    public partial class Show : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string FileName, PrintCopy;

            FileName = Request.QueryString["FileName"];
            PrintCopy = Request.Form["PrintCopy"];

            WriteReportFile(FileName, PrintCopy);

            Response.Write("File Name" + FileName);
            Response.Write("Print Copy" + PrintCopy);
        }

        private void WriteReportFile(string FileName, string PrintCopy)
        {
            if ( FileName == null  || FileName == "" || FileValue == null  ||FileValue == "")
                return;

            File.WriteAllText(Server.MapPath(FileName), PrintCopy);
        }
    }
}

分享到:
评论

相关推荐

    ASP.NET实现证书打印

    总之,ASP.NET提供了强大的工具和库,使得在Web环境中实现证书打印功能变得相对容易。开发者可以结合前端设计和后端逻辑,创建出满足各种需求的电子证书打印系统。通过理解上述步骤和技巧,你可以成功地在自己的项目...

    ASP.NET(C#) Web Api通过文件流下载文件的实例

    本文将深入探讨如何使用C#在ASP.NET Web API中通过文件流下载文件的实例。 首先,让我们分析给出的`DownloadController`代码片段。该控制器包含一个名为`GetFileFromWebApi`的方法,它响应HTTP GET请求,并返回一个...

    ASP.NET中水晶报表的使用

    3. **与Web控件无缝集成**:可以在ASP.NET WebForm中直接使用水晶报表控件。 4. **多格式导出**:支持将报表导出为PDF、Word、Excel、HTML、RTF等多种格式,满足不同场景的需求。 #### 三、水晶报表的结构 水晶...

    Asp.Net中使用水晶报表

    Asp.Net中使用水晶报表是一项常见的技术实践,尤其对于需要展示复杂数据和报表的Web应用程序。水晶报表是一种强大的报表工具,允许开发者创建丰富的、交互式的报表,并且可以方便地导出为多种格式。以下是对这一主题...

    用ASP.NET设计新闻发布系统

    ### 使用ASP.NET设计新闻发布系统的关键知识点 #### 一、系统概述 新闻发布系统是一种常见的Web应用程序,主要用于管理和发布新闻内容。这种系统通常包括新闻的增删改查等功能,并且支持分类管理、用户评论等功能。...

    ASP200问.EXE

    第2章 ASP.NET运行模型 12.如何定义变量和判定变量类型 13.什么是变量的作用域 14.如何强制要求显式声明变量 15.如何保留或消除过程调用对变量的影响 16.如何创建和调整动态数组 18.如何计算中英文混合字符串的...

    不用服务器控件的增删改查

    在传统的ASP.NET中,服务器控件如TextBox、Button等会触发回发,使得服务器端能够处理用户的输入。然而,我们可以使用纯HTML元素(如、)和AJAX技术来实现实时的数据操作。例如,创建一个表单,用户可以直接编辑表格...

    水晶报表入门教程

    本教程将引导你了解如何在Asp.Net中使用水晶报表,帮助你快速入门。 首先,我们需要知道水晶报表的核心组件。在服务器端,水晶报表引擎(CREngine.dll)负责处理报表数据的合并、格式转换等功能,确保报表能够以HTML...

    jsp初学教程

    - **Microsoft技术栈**:主要包括ASP.NET等技术,适用于Windows平台。 - **PHP**:一种广泛使用的开源脚本语言,易于学习且部署灵活。 - **Servlet/JSP**:Java平台下的核心技术之一,用于构建动态网页。 #### ...

    2021-2022计算机二级等级考试试题及答案No.453.docx

    这些题目涉及了计算机基础知识、编程语言概念、...25. ASP.NET共享对象:在ASP.NET中,使用`Session`对象可以在不同项目之间共享数据,但`Res`不是标准的共享对象。 以上是各个问题涉及的计算机相关知识点的详细解释。

    2021-2022计算机二级等级考试试题及答案No.5183.docx

    9. Page指令属性:在ASP.NET中,Page指令用于设置页面的特性,如CodePage用于指定代码页,Debug用于开启或关闭调试,Language用于指定编程语言,但namespace不是Page指令的属性。 10. 页面视图:在Word中,页面视图...

    2021-2022计算机二级等级考试试题及答案No.12612.docx

    - **知识点**:ASP.NET 是基于.NET框架的一种服务器端脚本环境,在这种环境中可以使用多种编程语言编写代码,但并不是JavaScript。ASP.NET 使用的语言主要包括 C# 和 Visual Basic.NET。 ### 9. WPS与Word - **...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    2021-2022计算机二级等级考试试题及答案No.17698.docx

    - **知识点**: 使用ASP.NET开发的网页,其文件扩展名通常被命名为`.aspx`。 - **解释**: ASP.NET是一种由微软开发的用于创建动态网页的应用框架。在ASP.NET中,网页文件通常以`.aspx`作为扩展名,这有助于服务器识别...

    2021-2022计算机二级等级考试试题及答案No.17792.docx

    29. ASP.NET页面间传递值的方法包括URL参数、Session、ViewState、QueryStrings、Cookies、隐藏字段、服务器控件的ViewState以及自定义对象等。 以上是计算机二级等级考试的部分试题解析和相关知识点,涵盖了程序...

    考勤管理系统需求职工考勤管理系统需求公析

    19. **定制开发**:系统需通过Web定制开发,建议采用Asp.net技术,确保软件的独立性和适应性。 20. **报表导出**:所有的统计报表应支持导出为Excel格式,便于数据分析和打印。 以上是职工考勤管理系统的核心需求...

    2021-2022计算机二级等级考试试题及答案No.18580.docx

    21. 内容页通过MasterPageFile属性与母版页建立联系,这是ASP.NET中创建页面布局的方式。 22. 双重循环中,内层循环体S语句的执行次数是n(n+1)/2,这是一个组合数问题。 23. Int(-3.1) + round(-4.6) 的结果是-7 -...

    2021-2022计算机二级等级考试试题及答案No.9069.docx

    5. ASP.NET的验证控件用于确保用户输入的数据符合预期格式。D选项SubmitValidator不是验证控件,而是用于触发验证的控件。 6. 方法重写通常发生在子类继承父类的情况下,但在没有继承关系的类之间无法实现方法重写...

Global site tag (gtag.js) - Google Analytics