最快的方式打印ASP.NET MVC3中显示的页面

时间:2012-06-25 08:25:12

标签: jquery asp.net-mvc asp.net-mvc-3 printing

我使用ASP.NET MVC 3和Razor,并且我需要一个视图页面来打印具有当前显示的特定div。这个页面中有很多css像这样显示,我不知道css,我只想打印一个在页面中看到的div,因此我使用PrintElement jQuery插件就像这样:

$('a.PrintBtn').click(function () {
 $('div#PrintMe').printElement();
 return false;
});

但是这会给我一个页面,其中包含所有元素,字体和方向的混乱,那么如何修复呢?我也看到了这个重载:

$("selector").printElement(
    {
    overrideElementCSS:[
'thisWillBeTheCSSUsed.css',
{ href:'thisWillBeTheCSSUsedAsWell.css',media:'print'}]
    });

但这意味着什么?我不知道css,这是否意味着我需要为打印页面写一个新的CSS?我怎样才能做到这一点?有没有其他简单的方法以显示格式打印此div

1 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个print.css CSS文件。您可以将不希望显示的项目的显示属性设置为false。当您链接到head标签中的print.css文件时,请使用以下命令:

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

这告诉浏览器在打印模式下仅使用CSS。通过使用以下媒体选项将CSS拆分为多个文件,您可以获得更多的幻想

  • media =“print” - &gt;仅在印刷期间使用
  • media =“screen” - &gt;仅在屏幕上显示时使用
  • media =“all” - &gt;总是应用

这很可能是首选方法,因为您不必依赖客户端使用Javascript来获取页面/项目/对象的打印版本。