回答
我会这样做只是通过CSS,而不是任何与MVC。
只需为打印定义一个单独的样式表。例如
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
做这种方式的优点是:
- 这就是CSS是为那些渲染相同内容不同为不同的设备
- 更少的工作,你不必维护2 MVC浏览量
- 用户更容易,不管他们在哪个页面上,他们只需按下浏览器上的打印按钮就可以工作,他们不必单击单独的打印机友好版本链接。
- 如果您不想在CSS中打印您定义的徽标或菜单,并且所有页面都将应用该样式,则您对CSS所做的更改将在站点范围内进行,例如在CSS中进行打印。
我用了同样的观点,但有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文章打印:http://www.alistapart.com/articles/goingtoprint/
@mkeats:浏览器如何在链接上选择打印友好的样式表单击 – DotnetSparrow 2011-04-06 09:05:07
浏览器将使用screen.css文件进行渲染以进行正常浏览。当有人打印或进行打印预览时,自动渲染将随着print.css文件自动渲染。你不需要做任何事情来切换不同的文件。 – 2011-04-06 09:07:48
@mkeats:我可以保留css文件的名称,只需添加/更改媒体类型? – DotnetSparrow 2011-04-06 09:31:33
- 1. ASP.Net MVC 3.0 onclick打印一个视图?
- 2. 渲染ASP.Net MVC引导3可印刷视图的PDF快照
- 3. ASP.NET MVC 3视图中的样式DropDownList
- 4. asp.net MVC 3模型视图中的
- 5. 在asp.net MVC中打印图像?
- 6. Mvc 3打印问题
- 7. 用于打印预览的C#MVC视图模板引擎
- 8. ASP.NET MVC 3视图和模型
- 9. ASP.NET MVC 3部分视图未找到
- 10. ASP.NET MVC 3部分视图模板
- 11. ASP.NET MVC 3,局部视图和COUNT()
- 12. 如何从视图asp.net-MVC-3
- 13. Asp.net MVC 3局部视图回发
- 14. asp.net mvc 3和动态视图生成
- 15. ASP.NET MVC 3 Razor视图限制
- 16. ASP.Net MVC 3 - 密码保护视图
- 17. Ajax表单视图问题,asp.net mvc 3
- 18. asp.net mvc 3,主题(不同视图)
- 19. Asp.net MVC批量打印
- 20. 在ASP.NET MVC中打印
- 21. MVC 3 ASP.NET:基于ASP.NET MVC中的文本框值的Gridview 3
- 22. 打开URL到视图(MVC 3)
- 23. asp.net mvc 3高图
- 24. 网格视图在asp.net表打印
- 25. ASP.NET MVC 3视图,超类不适用于子类?
- 26. 在asp.net MVC 3中的JQuery UI日历3部分视图
- 27. ASP.NET打印(MVC)SharePoint中的Word文档
- 28. MVC 3未部署视图
- 29. 如何将Treeviews放入MVC 3视图?
- 30. ASP.NET MVC - 无法在服务器上打印ASP.NET图表控件
如何我可以定义打印友好的CSS? – DotnetSparrow 2011-04-06 09:01:27
查看mkeats的答案,了解如何 – Daveo 2011-04-06 09:05:12