如何在asp.net中给出打印(点阵打印机)
本文关键字:打印 点阵打印机 asp net | 更新日期: 2023-09-27 18:08:06
在我的项目中,我必须打印一个表格,如姓名,年龄等。这些都是用印刷纸印出来的,我只需要根据纸张写上地名,年龄。目前,我正在使用一个asp.net页面来满足我的目的。这里我用position = absolute来放置标签。当我点击打印时,我正在调用该页面,在onload事件中,我正在根据前页内容放置标签值。
很简单。那么,有没有更好的方法来打印dotmatrix打印机或没有?请建议。
现在打印工作得很好,但问题是,当我点击打印按钮,我打开像弹出窗口的页面,并调用打印那里。但我希望弹出窗口关闭后,我点击打印或取消按钮。请帮帮我。
我的代码是这样的:这个BtnPrint在我的主页上。主页包含姓名、年龄等输入。在PrtPage中,我根据给定的打印空间放置了标签。所以我在加载PrtPage.aspx的onload事件的主页值。
protected void BtnPrint_Click(object sender, EventArgs e)
{
Response.Write("<script>");
Response.Write("window.open('PrtPage.aspx','_blank')");
Response.Write("</script>");
}
在PrtPage:
的页面加载保护无效Page_Load(对象发送者,EventArgs e)
{
Response.Write("<script>");
Response.Write("window.print()");
//Response.Write("window.close()");
Response.Write("<script>");
}
但每当我点击打印按钮它问'你想关闭窗口?’,所以请帮帮我吧。我想在打印设置窗口中点击打印或取消后关闭。
或建议我是否有任何好的方法打印在dotmatrix..提前谢谢。
山姆。
使用单个页面而不是打开弹出窗口怎么样?在下面的博客文章中,您可以看到一个示例用法。包含可打印内容和不可打印内容的两个div标签,包含可打印内容的div标签是隐藏的。然后你可以使用Jquery打印DIV内的内容。
http://itzonesl.blogspot.com/2013/02/how-to-print-content-inside-div-tag.html更新:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server" >
<title></title>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="jquery.printElement.js" type="text/javascript"></script>
<script type="text/javascript">
function printpage() {
$("#lblName").html($("#TextBox1").val());
$("#lblSchool").html($("#TextBox2").val());
$("#printable").printElement();
}
</script>
<style type="text/css">
#printable { display: none; }
@media print
{
#nonprintable { display: none; }
#printable { display: block; }
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id="nonprintable">
<table class="style1">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Name"></asp:Label>:
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="School"></asp:Label>:
</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</div>
<div id="printable">
<table class="style1">
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="Name"></asp:Label>:
</td>
<td>
<asp:Label ID="lblName" runat="server" ></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label4" runat="server" Text="School"></asp:Label>:
</td>
<td>
<asp:Label ID="lblSchool" runat="server" ></asp:Label>
</td>
</tr>
</table>
</div>
<asp:Button ID="Button1" runat="server" Text="Print"
OnClientClick="printpage();" />
</form>
</body>
</html>
与MasterPage :
MasterPage.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form runat="server">
<div class="page">
<div class="header">
<div class="title">
<h1>
My ASP.NET Application
</h1>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
</div>
</form>
</body>
</html>
ContentPage.aspx
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="jquery.printElement.js" type="text/javascript"></script>
<script type="text/javascript">
function printpage() {
$("#MainContent_lblName").html($("#MainContent_TextBox1").val());
$("#MainContent_lblSchool").html($("#MainContent_TextBox2").val());
$("#printable").printElement();
}
</script>
<style type="text/css">
#printable { display: none; }
@media print
{
#nonprintable { display: none; }
#printable { display: block; }
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<div id="nonprintable">
<table class="style1">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Name"></asp:Label>:
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="School"></asp:Label>:
</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</div>
<div id="printable">
<table class="style1">
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="Name"></asp:Label>:
</td>
<td>
<asp:Label ID="lblName" runat="server" ></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label4" runat="server" Text="School"></asp:Label>:
</td>
<td>
<asp:Label ID="lblSchool" runat="server" ></asp:Label>
</td>
</tr>
</table>
</div>
<asp:Button ID="Button1" runat="server" Text="Print"
OnClientClick="printpage();" />
</asp:Content>
你得到这些的原因是asp.net的作用域仅限于浏览器窗口。如果浏览器设置为在您尝试自动关闭页面时询问用户是否要关闭该页面(大多数情况下都是这样),则无法阻止浏览器访问该页面。
和打印一样,你不能自动打印,因为浏览器不允许。