2011-04-06 21 views
15

ASP.NET MVC 3 görünümün baskı dostu sürümünü oluşturmak istiyorum Bunu nasıl yapabilirim? Ayrıca, görünümün birkaç bölümünün baskı dostu sürümünü yapmam gerekirse ne olur?Baskı dostu ASP.NET MVC 3 görünüm

Saygılarımızla.

cevap

7

Bunu sadece CSS ile yapıyorum ve MVC ile ilgisi yok.

Sadece yazdırma için ayrı bir stil sayfası tanımlayın. Örneğin

<link rel="stylesheet" type="text/css" href="print.css" media="print" /> 

bu yollar yapmanın avantajı:

  • CSS farklı cihazlar için farklı içerik aynı render içindi ne Yani
  • Az iş, bakımını gerekmez 2 MVC görüntülemesi
  • Kullanıcı için daha kolay olan, hangi sayfada bulundukları önemli değil, yalnızca tarayıcılarındaki yazdırma düğmesine basarlar ve çalışır, ayrı bir yazıcı dostu sürüm bağlantısına tıklamak zorunda kalmazlar.
  • CSS'ye yaptığınız değişiklikler, örneğin CSS'nizde tanımladığınız logoyu veya menüyü yazdırmak istemiyorsanız ve tüm sayfalar bu stili uygulayacak şekilde, CSS'nizde yazdırılacak şekilde olacaktır.
+0

nasıl baskı dostu css'yi tanımlayabilir miyim? – DotnetSparrow

+2

Bkz. Mkeats yanıtı nasıl yapılır – Daveo

18

Aynı görünümleri kullanıyorum, ancak 2 CSS dosyasına sahip (biri media="screen" ve diğeri media"print" ile birlikte).

Baskı CSS dosyasında, display:none; kullanarak tüm alakasız DOM öğelerini gizlemek için CSS kullanıyorum.

Örnek MVC Görünüm:

<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> 

Örnek print.css dosyası:

#pageHeader { 
    display: none; 
} 

'Ayrı Bir Liste' bu iyi bir göz atın baskı için CSS üzerinde madde: http://www.alistapart.com/articles/goingtoprint/

+0

@mkeats: Tarayıcı, yazıcıdaki baskı dostu stil sayfasını nasıl seçecek? Bağlantıyı tıklayın – DotnetSparrow

+3

Tarayıcı, normal tarama için screen.css dosyası kullanılarak oluşturulacaktır. Birisi basar veya baski önizlemesini yaptiginda, borç yazici otomatik olarak print.css dosyasiyla işlenir. Farklı dosyalar arasında geçiş yapmak için hiçbir şey yapmanıza gerek yoktur. –

+0

@mkeats: Css dosya adlarını elimdeki gibi tutabilir ve sadece medya türünü ekleyebilir/değiştirebilir miyim? – DotnetSparrow