.net .cs文件中执行javascript脚本

// ========= FrmPrint.aspx ================= //

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmPrint.aspx.cs" Inherits="FrmPrint" %>

<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>小票打印</title>
    <script type="text/javascript">
        // 打印完成
        function Done()
        {
            window.returnValue = sRetValue;
            close();
        }

        // 小票打印
        function Print(accNum)
        {
            // 0:不打印 1:打印 2:询问
            var nPrintStatus = GetPublicParameter("PrintStatus");
            nPrintStatus = parseInt(nPrintStatus);
            if ((1 === nPrintStatus) || (2 === nPrintStatus))
            {
                var IsNeedPrint = false;
                if (1 === nPrintStatus)
                {
                    IsNeedPrint = true;
                }
                else if (2 === nPrintStatus)
                {
                    var returnVal = ShowMsg("请确认", "是否要打印小票?", 2);
                    if ((true === !returnVal) || (returnVal === "false"))
                    {
                        IsNeedPrint = false;
                    }
                    else
                    {
                        IsNeedPrint = true;
                    }
                }
                if (true === IsNeedPrint)
                {
                    // 设置打印参数
                    FrmOpen.SetPrintParm("开户配卡", accNum.toString()).value;
                    // 打印
                    var sRetValue = OpenQuery("../CardholderManager/FrmPrint.aspx", "小票打印", 100, 300);
                    return sRetValue;
                }
            }
        }
    </script>
    <style type="text/css">
        html, body
        {
            width: 300px;
            height: 100px;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div style="text-align: center; line-height: 100px;">
        <span>正在打印,请稍后 ....</span>
    </div>
    <div style="display: none;">
        <%--<CR:CrystalReportViewer ID="CryView" runat="server" AutoDataBind="true" ReportSourceID="CryRptSource"
            EnableDatabaseLogonPrompt="False" HasToggleGroupTreeButton="False" HasToggleParameterPanelButton="False"
            Height="50px" PrintMode="ActiveX" ToolPanelView="None" Width="350px" />--%>
        <CR:CrystalReportSource ID="CryRptSource" runat="server">
            <Report FileName="rpt\CardHolderInforRpt.rpt">
            </Report>
        </CR:CrystalReportSource>
    </div>
    </form>
</body>
</html>

// ====================== FrmPrint.aspx.cs ============================= //

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

// ------------------------------------------------------------- //
// 版权所有:CopyRight (C)
// 项目名称:
// 文件名称:FrmPrint.aspx.cs
// 创 建 者:
// 创建日期:2014-06-26
// 功能描述:小票打印;
// 调用依赖:
// -------------------------------------------------------------
// 修 改 者:
// 修改时间:
// 修改原因:
// 修改描述:
// ------------------------------------------------------------- //

using CrystalDecisions.CrystalReports.Engine;
using System.Collections;
using System.Data;
using System.Drawing.Printing;

public partial class FrmPrint : System.Web.UI.Page
{
    /// <summary>
    /// Remoting配置信息
    /// </summary>
    protected Config config = new Config();
    /// <summary>
    /// 页面加载
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        string sRet = string.Empty;
        DataSet dsParm = (DataSet)Session["rptDataSet"];
        if (null == dsParm || 0 == dsParm.Tables.Count || 1 != dsParm.Tables[0].Rows.Count)
        {
            sRet = "无小票打印参数!";
        }
        else
        {
            DataRow dr = dsParm.Tables[0].Rows[0];
            string sOptName = dr["OptName"].ToString();
            string sAccNum = dr["AccNum"].ToString();
            if ((false == string.IsNullOrEmpty(sOptName)) && (false == string.IsNullOrEmpty(sAccNum)))
            {
                sRet = this.Print(sOptName, sAccNum);//\\192.168.1.179\HP LaserJet 1020
            }
            else
            {
                sRet = "小票打印参数为空!";
            }
        }

        ClientScriptManager ScriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;
        ScriptManager.RegisterStartupScript(typeof(string), "", "var sRetValue = '" + sRet + "';Done();", true); // FrmPrint.aspx中获取了sRetValue的值,并执行了Done();函数
        //if ("1" != sRet)
        //{
        //    ScriptManager.RegisterStartupScript(typeof(string), "", "alert('" + sRet + "');close();", true);
        //}
        //else
        //{
        //    // 关闭页面
        //    ScriptManager.RegisterStartupScript(typeof(string), "", "close();", true);
        //}
    }
    /// <summary>
    /// 小票打印
    /// </summary>
    /// <param name="optName">操作名称(输入参数)</param>
    /// <param name="accNum">账号(输入参数)</param>
    /// <returns></returns>
    public string Print(string optName, string accNum)
    {
        string sRet = string.Empty;
        string sOptName = "", sTime = "", sStation = "", sAccNum = "", sCardCode = "", sOperate = "",
            sMoney = "", sWallet = "", sUnit = "", sHelp = "", sWalletMoney = "N/A", sMoneyCharge = "N/A";
        string path = "";

        try
        {
            Hashtable PrintParm = new Hashtable();
            PrintParm.Add("sOptName", optName);
            PrintParm.Add("sAccNum", accNum);
            PrintParm.Add("sCardCode", "0");
            PrintParm.Add("sMoney", "0");
            PrintParm.Add("sWallet", "0");

            foreach (string sTmp in PrintParm.Keys)
            {
                switch (sTmp)
                {
                    case "sOptName":
                        sOptName = PrintParm[sTmp].ToString().Trim();
                        break;
                    //     case "sTime":
                    //      sTime = hshtbl[sTmp].ToString().Trim();
                    //      break;
                    //     case "sStation":
                    //      sStation = hshtbl[sTmp].ToString().Trim();
                    //      break;
                    case "sAccNum":
                        if (PrintParm[sTmp].ToString().Trim().Length < 10)
                        {
                            sAccNum = "0000000000" + PrintParm[sTmp].ToString().Trim();
                            sAccNum = sAccNum.Substring(sAccNum.Length - 10);
                        }
                        else
                        {
                            sAccNum = PrintParm[sTmp].ToString().Trim();
                        }
                        break;
                    case "sCardCode":
                        sCardCode = "00000000" + PrintParm[sTmp].ToString().Trim();
                        sCardCode = sCardCode.Substring(sCardCode.Length - 8);
                        break;
                    //     case "sOperate":
                    //      sOperate = "000000" + hshtbl[sTmp].ToString().Trim();
                    //      sOperate = sOperate.Substring(sOperate.Length - 6);
                    //      break;
                    case "sMoney":
                        sMoney = Convert.ToDouble(PrintParm[sTmp].ToString()).ToString("0.00") + "元";
                        break;
                    case "sWallet":
                        sWallet = PrintParm[sTmp].ToString().Trim();
                        break;
                    //     case "sUnit":
                    //      sUnit = hshtbl[sTmp].ToString().Trim();
                    //      break;
                    //     case "sHelp":
                    //      sHelp = hshtbl[sTmp].ToString().Trim();
                    //      break;
                    case "dMoneWallet":
                        sWalletMoney = Convert.ToDouble(PrintParm[sTmp].ToString()).ToString("0.00") + "元";
                        break;
                    case "dMonCharge":
                        sMoneyCharge = Convert.ToDouble(PrintParm[sTmp].ToString()).ToString("0.00") + "元";
                        break;
                }
            }
            //sTime =
            //ICustomException _ICustomException = (ICustomException)RemotingHelper.GetObject(typeof(ICustomException));
            config.iInterfaceByNo(typeof(Zytk.Client.Common.ICustomException));
            sTime = this.config._ICustEx.ServerTime.ToString("yyyy-MM-dd HH:mm:ss");
            sStation = PublicParameter.GetStaCode().ToString();
            sOperate = "000000" + PublicParameter.GetOptCode().ToString();
            sOperate = sOperate.Substring(sOperate.Length - 6);

            //IAppParameter _IAppParameter = (IAppParameter)RemotingHelper.GetObject(typeof(IAppParameter));
            sUnit = PublicParameter.OPUnitNum.ToString();//_IAppParameter.ClientSerialNo.Trim();
            //sHelp = _IAppParameter.OfferName.Trim().Substring(0, 6);
            //
            //PosPrintRpt posprintRpt = new PosPrintRpt();
            ReportDocument rpt = CryRptSource.ReportDocument;
            path = Server.MapPath("rpt\\PosPrintRpt.rpt");
            rpt.Load(path);

            //标题
            config.iInterfaceByNo(typeof(IOperatingUnit));
            DataSet dsUnit;
            sRet = this.config._IOperatingUnit.GetByUnitNum(PublicParameter.OPUnitNum, out dsUnit);
            if (sRet != "1")
            {
                return "error:" + PublicFunctions.GetErrMsg(PublicParameter.GetStaCode(), PublicParameter.GetOptCode(), sRet);
            }
            TextObject txtTitle = (TextObject)rpt.ReportDefinition.ReportObjects["txtHeadText1"];
            txtTitle.Text = dsUnit.Tables[0].Rows[0]["Remark"].ToString();//_IAppParameter.AgentName;
            //操作类型
            TextObject txtOptName = (TextObject)rpt.ReportDefinition.ReportObjects["txtOptName"];
            txtOptName.Text = "操作类型:" + sOptName;
            //操作时间
            TextObject txtTime = (TextObject)rpt.ReportDefinition.ReportObjects["txtTime"];
            txtTime.Text = "操作时间:" + sTime;
            //站点编号
            TextObject txtStation = (TextObject)rpt.ReportDefinition.ReportObjects["txtStation"];
            txtStation.Text = "站点编号:" + sStation;
            //使用单位
            TextObject txtErpName = (TextObject)rpt.ReportDefinition.ReportObjects["txtErpName"];
            txtErpName.Text = "使用单位:" + PublicParameter.ErpName;
            //卡户帐号
            TextObject txtAccNum = (TextObject)rpt.ReportDefinition.ReportObjects["txtAccNum"];
            txtAccNum.Text = "卡户帐号:" + sAccNum;
            卡内编号
            //TextObject txtCardCode = (TextObject)posprintRpt.ReportDefinition.ReportObjects["txtCardCode"];
            //txtCardCode.Text = "卡内编号:"+sCardCode;
            //操作员号
            TextObject txtOperate = (TextObject)rpt.ReportDefinition.ReportObjects["txtOperate"];
            txtOperate.Text = "操作员号:" + sOperate;
            if (sWallet == "现金")
            {
                //交易金额
                TextObject txtMoney = (TextObject)rpt.ReportDefinition.ReportObjects["txtMoney"];
                txtMoney.Text = "手 续 费:" + sMoney;
                //交易钱包
                TextObject txtWallet = (TextObject)rpt.ReportDefinition.ReportObjects["txtWallet"];
                txtWallet.Text = "";
            }
            else if (sWallet == "0")
            {
                //交易金额
                TextObject txtMoney = (TextObject)rpt.ReportDefinition.ReportObjects["txtMoney"];
                txtMoney.Text = "";
                //交易钱包
                TextObject txtWallet = (TextObject)rpt.ReportDefinition.ReportObjects["txtWallet"];
                txtWallet.Text = "";
            }
            else
            {
                //交易金额
                TextObject txtMoney = (TextObject)rpt.ReportDefinition.ReportObjects["txtMoney"];
                txtMoney.Text = "交易金额:" + sMoney;
                //交易钱包
                TextObject txtWallet = (TextObject)rpt.ReportDefinition.ReportObjects["txtWallet"];
                txtWallet.Text = "交易钱包:" + sWallet;
            }
            单位编号
            //TextObject txtUnit = (TextObject)posprintRpt.ReportDefinition.ReportObjects["txtUnit"];
            //txtUnit.Text = "单位编号:"+sUnit;
            技术支持
            //TextObject txtHelp = (TextObject)posprintRpt.ReportDefinition.ReportObjects["txtHelp"];
            //txtHelp.Text = "技术支持:"+sHelp;
            //钱包余额
            TextObject txtWalletMoney = (TextObject)rpt.ReportDefinition.ReportObjects["txtWalletMoney"];
            if (sWalletMoney != "N/A")
            {
                txtWalletMoney.Text = "钱包余额:" + sWalletMoney;
            }
            else
            {
                txtWalletMoney.Text = "";
            }
            //存款管理费
            TextObject txtMoneyCharge = (TextObject)rpt.ReportDefinition.ReportObjects["txtMoneyCharge"];
            if (sMoneyCharge != "N/A")
            {
                txtMoneyCharge.Text = "管 理 费:" + sMoneyCharge;
            }
            else
            {
                txtMoneyCharge.Text = "";
            }

            //直接打印
            //rpt.PrintOptions.PrinterName = "打印机";
            //rpt.PrintOptions.PrinterName = printerName;
            rpt.PrintToPrinter(1, false, 0, 0);

            return "1";
        }
        catch (Exception ex)
        {
            string sMsg = ex.Message;
            sMsg = sMsg.Replace("\r", "");
            sMsg = sMsg.Replace("\n", "");
            sMsg = sMsg.Replace("\r\n", "");
            return sMsg;
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值