ASP.Net怎么实现从网页上打印

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.Net怎么实现从网页上打印相关的知识,希望对你有一定的参考价值。

直接调用window.print或者webrower控件的ExecWB方法来打印。

优点:方便快捷,客户端无需任何设置即可。

缺点:打印控制不是很灵活。如果直接调用。

window.print来打印页面,页面上别的元素也会被打印处理,页头页尾的格式也不好控制。

常用方法:大部分情况会把查询的结果绑定到DataGrid上来,然后打印DataGrid。这种情况的打印一般来说格式比较固定简单,确定后基本不会再作更改。所以可以采用IE直接打印。

【实例代码】

注:①这是客户端通过window.print打印指定内容。这里定义sprnstr和eprnstr来指定内容。

执行代码:

<input type="button" name="print" value="预览并打印" onclick="preview()">

②如果直接使用window.print将打印页面上的所有内容,但是我们可以使用:

st<<style> @media Print .Noprn DISPLAY: none

用来指定不打印的内容。

script language="javascript">function preview() bdhtml=window.document.body.innerHTML; sprnstr="<!--startprint-->"; eprnstr="<!--endprint-->"; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); window.document.body.innerHTML=prnhtml; window.print();</script><!--省略部分代码--><form id="WebForm1" method="post" runat="server"> <center>本部分以上不被打印</center> <!--startprint--> <div align="center"> <asp:DataGrid id="dgShow" runat="server"> <!--省略部分代码--> </asp:DataGrid> </div> <!--endprint--> <center>本部分以下不被打印</center> <div align="center"> <input type="button" name="print" value="预览并打印" onclick="preview()"> </div> <style> @media Print .Noprn DISPLAY: none </style> <p class="Noprn">不打印</p> <table id="datagrid"> <tr> <td>打印</td> </tr> </table> <input class="Noprn" type="button" onclick="window.print()" value="print"></form>
参考技术A window.print() 参考技术B window.print()

左侧导航怎么实现,ASP.NET

2个问题!感谢广大的开发者帮助!
1.导航,我写的导航总是要跳转到别的页面,看好了多网站,都是直接在主页显示的。
比如说:我的导航上面有:主页|产品|联系我们|
每次我点了之后他就从新到了一个新的页面!能不能就在本网页显示!
2.那个左侧导航用什么控件?如果鼠标移动倒左侧导航上去,那么可以直接在后面显示出他的子菜单,不用点击的那种
谢谢啦
1.就是说我的网站分了3个块,上面是导航,左侧也是导航,中间主要就是显示信息,如果我点上面的导航,他就会跳转出来一个页面,来显示信息。我想就在原来的那块显示信息,而不跳转倒其他页面

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>财务分析系统</title>
</head>
<frameset rows="100,*" cols="*" frameborder="YES" border="0" framespacing="0" >
<frame src="common/top.aspx" name="topFrame" scrolling="NO" noresize > //顶部页面
<frameset rows="*" cols="186,*" framespacing="0" frameborder="NO" border="0">
<frame src="common/menu.aspx" name="leftFrame" scrolling="NO" noresize> //左侧页面
<frameset rows="*,20" cols="*" framespacing="0" frameborder="NO" border="0">
<frame src="common/blank.aspx" name="mainFrame" scrolling="YES"> //中间主页面
<frame src="common/foot.aspx" name="footFrame" scrolling="NO"> //底部页面
</frameset>
</frameset>
</frameset>

<body>
<form id="form1" runat="server">
</form>
</body>
</html>
src 是每个框架中的页面路径

---------------------------------------------------
这是一树的节点,我只举一个节点的例子.楼主看懂了就好了
<asp:TreeView ID="TreeView_Show" runat="server" ShowExpandCollapse="False" ImageSet="BulletedList" Height="234px" Width="109px" >
<Nodes>
<asp:TreeNode Text="详细信息" Value="Message" ImageUrl="~/image/hy.gif">
<asp:TreeNode Target="mainFrame" Text="资产负债" Value="Message_Show" ImageUrl="~/image/icon_personaloffice_16.gif" NavigateUrl="~/UI/Message/Balance_Sheet.aspx">
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
注意上面的<asp:TreeNode Target="mainFrame" Text="资产负债" 这句中的Target="mainFrame" 该节点的导航目标定位于 mainFrame的页面框架里面了也就是 <frame src="common/blank.aspx" name="mainFrame" scrolling="YES"> //中间主页面
当然你这个有树的导航页面 要么是<frame src="common/menu.aspx" name="leftFrame" scrolling="NO" noresize> //左侧页面
或者是顶部页面
参考技术A 1.这个问题很简单.听你的意思是.你的导航是超链接么?
<a>标签有个属性 target.如果target=_blank.那么就会弹出新页面.如果target=_self或者不要target属性.那么新页面就在本网页显示.

2.我没听懂你的意思..不过好像大概意思是说用<div>做的onmouseover事件吧?写js.
参考技术B 1.如贰壹肆伍捌 所讲,

也可以考虑用frame

2。这个你自己搜索一下 “纯css菜单“
参考技术C 可以采用HTML里面的锚点来实现啊!左侧设置链接到一个锚点,把右边内容设置为一个锚点。然后_target="_self"。就搞定了哇! 参考技术D Menu可以,使用站点地图,就可以达到你的要求。直接Menu绑定站点地图。什么都不用写就可以解决你的所有问题。(导航最好使用模版页) 第5个回答  2008-06-01 可以用DataList!

以上是关于ASP.Net怎么实现从网页上打印的主要内容,如果未能解决你的问题,请参考以下文章

asp.net怎么实现在网页上写pdf和将pdf加载到网页上呢。如果有源码可以分享最好了,谢谢!!!

ASP.NET如何实现跳转到上一个浏览的页面?

请问各位大神:1.怎么实现将PDF显示在asp.net的网页之中,求详细操作与代码?

左侧导航怎么实现,ASP.NET

ASP.NET 网页的重定向和传值

如何在 asp.net Web 应用程序中从条码标签打印机打印条码