当前位置: 代码迷 >> ASP.NET >> 要记录打印次数,怎么通过后台代码调用ie的打印
  详细解决方案

要记录打印次数,怎么通过后台代码调用ie的打印

热度:6838   发布时间:2013-02-25 00:00:00.0
要记录打印次数,如何通过后台代码调用ie的打印?
如题,用IE打印的方法都是js的,
<tr> 
<td width="100%" height="25" colspan="3"> <script language="javascript"> 

function printsetup(){ 
// 打印页面设置 
wb.execwb(8,1); 

function printpreview(){ 
// 打印页面预览 

wb.execwb(7,1); 


function printit() 

if (confirm('确定打印吗?')){ 

wb.execwb(6,6) 


</script> 
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=3> </OBJECT> 
<div id="kpr"> 
<input class="ipt" type=button name= button _print value="打印" onclick ="kpr.style.display='none';javascript :printit();"> 
<input class="ipt" type=button name=button _setup value="打印页面设置" onclick =" javascript : printsetup();"> 
<input class="ipt" type=button name=button_show value="打印预览" onclick="kpr.style.display='none';javascript:printpreview();"> 
<input class="ipt" type=button name= button _fh value="关闭" onclick =" javascript:window.close();"> </td> 
</div> </tr>

如何能够记录是否已经打印,要存入数据库哦。

------解决方案--------------------------------------------------------
在打印按钮事件中增加打印机记录就可以啊.
------解决方案--------------------------------------------------------
DING
------解决方案--------------------------------------------------------
用AJAX啊~~当点击按钮的时候通过调用一个JS函数发送数据给后台页面,存入数据库就可以了吧~
------解决方案--------------------------------------------------------
Page.RegisterClientScriptBlock("", "function printsetup(){ "
+ "// 打印页面设置 "
+ "wb.execwb(8,1); "
+ "} "
+ "function printpreview(){ "
+ "// 打印页面预览"
+ "wb.execwb(7,1); "
+ "} "
+ "function printit() "
+ "{ "
+ "if (confirm('确定打印吗?')){ "
+ "wb.execwb(6,6) "
+ "}}");
------解决方案--------------------------------------------------------
客户端打印,想控制不行把,我按了你按钮,跳出打印框了,但是我又取消了,你算我打印过了吗?
------解决方案--------------------------------------------------------
不懂不要紧啊,我2天前也不懂,你创建一个网站,包含2个页面,Default.aspx和Default2.aspx,Default.aspx页的html代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 language="javascript" type="text/javascript">
// <!CDATA[

function createRequest() 
{
var name=escape(document.getElementById("txtName").value)
var cbo=new CallBackObject()
cbo.OnComplete=Cbo_Complete;
cbo.onError=Cbo_Error;
cbo.DoCallBack("Default2.aspx?name="+name);
}
function Cbo_Complete(responseText,responseXML)
{
document.getElementById("show").innerHTML=responseText;
}
function Cbo_Error(status,statusText,responseText)
{
alert(responseText);
}
function CallBackObject()
{
this.XmlHttp=this.GetHttpObject();
}
CallBackObject.prototype.GetHttpObject=function()
{
var xmlhttp;
if(window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
return xmlhttp;
}
CallBackObject.prototype.DoCallBack=function(URL)
{
if(this.XmlHttp)
{
if(this.XmlHttp.readyState==4||this.XmlHttp.readyState==0)
{
var oThis=this;
this.XmlHttp.open('POST',URL);
this.XmlHttp.onreadystatechange=function(){oThis.ReadyStateChange();};
this.XmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
this.XmlHttp.send(null);
}
}
}
CallBackObject.prototype.ReadyStateChange=function()
{
if(this.XmlHttp.readyState==4)
{
if(this.XmlHttp.status==200)

this.OnComplete(this.XmlHttp.responseText,this.XmlHttp.responseXML);

else

this.OnError(this.XmlHttp.status,this.XmlHttp.statusText,this.XmlHttp.responseText);

}
}

// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />
<div id="show"></div>
<br />
<br />
<br />
<br />
<input id="Button1" type="button" value="button" onclick="javascript:createRequest()" />&nbsp;</div>
</form>
</body>
</html>
=================================================
Default2.aspx.cs的代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strName = HttpContext.Current.Request.QueryString["name"];
string strRes = "<br/>" + strName + ",你好!<br/>系统时间:" + DateTime.Now.ToString();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write(strRes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
}
=================
你再文本框里输入你的名字,然后点击按钮,页面上会输出你的名字和系统时间,注意,这个按钮是客户端HTML控件,所以点击按钮后页面并没有刷新。
这个例子你认真看一下就明白其中的原理了,而这也是AJAX技术的原理,即通过XMLHttpRequest对象传值,会对你有帮助的。
  相关解决方案