【发布时间】:2011-07-30 15:27:25
【问题描述】:
我想创建我的 ASP.NET MVC 3 视图的打印友好版本,我该怎么做?另外,如果我需要制作视图的几个部分的打印友好版本怎么办?
问候。
【问题讨论】:
标签: asp.net css asp.net-mvc-3 printing
我想创建我的 ASP.NET MVC 3 视图的打印友好版本,我该怎么做?另外,如果我需要制作视图的几个部分的打印友好版本怎么办?
问候。
【问题讨论】:
标签: asp.net css asp.net-mvc-3 printing
我会只通过 CSS 来实现这一点,而与 MVC 无关。
只需为打印定义一个单独的样式表。例如
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
这样做的好处是:
【讨论】:
我使用相同的视图,但有 2 个 CSS 文件(一个带有 media="screen",另一个带有 media"print")。
在打印 CSS 文件中,我使用 CSS 隐藏所有不相关的 DOM 元素,使用 display:none;。
示例 MVC 视图:
<html>
<head>
<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
</head>
<body>
<div id="pageHeader">This will not be shown in print - menubar, etc.</div>
<h1>Title</h1>
<p>Text</p>
</body>
</html>
示例 print.css 文件:
#pageHeader {
display: none;
}
看看这篇关于 CSS 打印的优秀“A List Apart”文章:http://www.alistapart.com/articles/goingtoprint/
【讨论】:
<a href="javascript:window.print()">Click to Print This Page</a> 使浏览器打开打印对话框。