2011-04-06 21 views
15

Quiero crear una versión fácil de imprimir de mi ASP.NET MVC 3 ver cómo puedo hacer esto? Además, ¿qué sucede si necesito hacer una versión amigable para imprimir de algunas partes de la vista?Print-friendly ASP.NET MVC 3 view

Atentamente.

Respuesta

7

Lo haría solo a través de CSS y no tiene nada que ver con MVC.

Simplemente defina una hoja de estilos separada solo para impresión. Por ejemplo

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

La ventaja de hacerlo de esta manera es:

  • Eso es lo CSS estaba destinado para la prestación del mismo contenido de forma diferente para diferentes dispositivos
  • Menos trabajo, que no tiene que mantener 2 vistas MVC
  • Más fácil para el usuario, sin importar en qué página esté, simplemente presione el botón Imprimir en su navegador y funcionará, no es necesario que haga clic en un enlace de versión amigable para la impresora.
  • Los cambios que realice en el CSS se realizarán en todo el sitio; por ejemplo, en su CSS para impresión, si no desea imprimir el logotipo o menú uno lo define en su CSS y todas las páginas aplicarán ese estilo.
+0

Cómo ¿Puedo definir css imprimible? – DotnetSparrow

+2

Consulte la respuesta de mkeats para saber cómo – Daveo

18

Uso las mismas vistas, pero tengo 2 archivos CSS (uno con media="screen" y el otro con media"print").

En el archivo CSS de impresión utilizo CSS para ocultar todos los elementos DOM irrelevantes usando display:none;.

Ejemplo MVC Vista:

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

Ejemplo print.css archivo:

#pageHeader { 
    display: none; 
} 

Tenga una mirada en esta buena 'A List Apart' artículo sobre CSS para la impresión: http://www.alistapart.com/articles/goingtoprint/

+0

@mkeats: Cómo el navegador seleccionará la hoja de estilo de impresión amigable en el enlace haga clic en – DotnetSparrow

+3

El navegador realizará el uso del archivo screen.css para la navegación normal. Cuando alguien imprime o imprime una vista previa, el borwser se procesará automáticamente con el archivo print.css. No necesita hacer nada para cambiar entre los diferentes archivos. –

+0

@mkeats: ¿Puedo guardar los nombres de los archivos css como los tengo y simplemente agregar/cambiar los tipos de medios? – DotnetSparrow