回答
我會這樣做只是通過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模型視圖中的
- 3. ASP.NET MVC 3視圖中的樣式DropDownList
- 4. 在asp.net MVC中打印圖像?
- 5. 用於打印預覽的C#MVC視圖模板引擎
- 6. ASP.NET MVC 3部分視圖未找到
- 7. Asp.net MVC 3局部視圖回發
- 8. ASP.NET MVC 3 Razor視圖限制
- 9. asp.net mvc 3,主題(不同視圖)
- 10. ASP.NET MVC 3部分視圖模板
- 11. 如何從視圖asp.net-MVC-3
- 12. 打開URL到視圖(MVC 3)
- 13. 網格視圖在asp.net表打印
- 14. MVC 3 ASP.NET:基於ASP.NET MVC中的文本框值的Gridview 3
- 15. MVC 3未部署視圖
- 16. ASP.NET打印(MVC)SharePoint中的Word文檔
- 17. 如何將Treeviews放入MVC 3視圖?
- 18. ASP.NET MVC - 無法在服務器上打印ASP.NET圖表控件
- 19. ASP.NET MVC從視圖
- 20. ASP.net MVC - 從視圖
- 21. 使用MVC 3打印Migradoc文檔
- 22. 視圖在ASP.NET MVC 3中無法正確顯示3
- 23. ASP.NET MVC 3預覽圖像
- 24. MVC中的交易asp.net
- 25. ASP.NET MVC的兩步視圖
- 26. 用於處理ASP.NET MVC 3視圖中的常見數據的方法
- 27. Flex 3:關於打印的查詢
- 28. 等到打印完成 - jquery Asp.net MVC
- 29. ASP.NET MVC服務器端打印
- 30. Rawprinterhelper網絡打印機ASP.NET MVC
如何我可以定義打印友好的CSS? – DotnetSparrow 2011-04-06 09:01:27
查看mkeats的答案,瞭解如何 – Daveo 2011-04-06 09:05:12