首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.net..Printing

Asp.net..Printing
EN

Stack Overflow用户
提问于 2011-08-10 03:52:48
回答 3查看 2.4K关注 0票数 0

我有一个按钮在asp.net (c#),我想在点击这个按钮后,我可以打印从我的html表,这是在一个更新面板,我只想打印我的html表不是所有的页面有任何组件?非常感谢

EN

回答 3

Stack Overflow用户

发布于 2011-08-10 03:56:17

2种处理方法:

定义一个打印media

  • Reporting服务的
  • CSS,直接从存储过程/直接表中命中数据,并打印一个表布局的数据。

基于OP注释

直接来自W3c:

http://www.w3.org/TR/CSS2/media.html

请专门阅读有关打印介质的内容,这意味着您可以在asp.net项目中定义一个介质类型为“print”的.css文件:

代码语言:javascript
复制
@media print {
  /* style sheet for print goes here */
}

这很好,因为您现在可以定义CSS来隐藏屏幕上的所有元素:

display:none

除了您选择的div / table之外:

代码语言:javascript
复制
#myDiv {
 display: block;
}

在您的asp.net页面中,您有以下定义:

代码语言:javascript
复制
<link rel="stylesheet" media="print" title="Printer-Friendly Style" 
         type="text/css" href="printStyle.css">

这告诉您的应用程序在打印页面时使用printStyle.css文件。一旦你尝试打印,应用程序将使用printStyle以及你定义的所有格式和样式。

这里有一个很好的例子:http://www.4guysfromrolla.com/demos/printMediaCss.html

对于第二点,如果您运行的是SQL Server,则报告服务是免费的。当然,您将需要设置并部署报表。这有点超出了这个问题的范围。如果您有报表服务,则可能需要打开一个新主题并询问有关该主题的问题。否则,只需创建一个打印样式的css文件。

票数 3
EN

Stack Overflow用户

发布于 2011-08-10 03:57:35

你可以使用CSS @print Media Type来隐藏你不想打印的东西。

请查看the w3 Schools tutorial以了解基本概述。

票数 0
EN

Stack Overflow用户

发布于 2011-08-10 04:09:03

您可以使用CSS类来定义媒体类型,如@print、@screen,然后使用这些类标记webapge的适当部分。

为了让按钮执行打印,您需要在按钮的定义中添加:onClientClick="window.print()"

像这样使用CSS:

代码语言:javascript
复制
@media print
{
  printOnly {display:block;}
  screenOnly {display:none;}
}

@media screen
{
  printOnly {display:none;}
  screenOnly {display:block;}
}

然后简单地用类来装饰你的DIVs或者其他元素:

<div class="screenOnly">this will not print but will show on screen</div>

<div class="printOnly">this will not show on screen but will print</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7002105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档