我有一个生成可打印表格的页面。我需要在没有周围_Layout
页面的情况下显示此页面,以确保打印机友好性。
我将如何做到这一点?
答案 0 :(得分:116)
假设您使用剃刀视图引擎(您提到了布局,而不是母版页)
@{
Layout = null;
}
实际上你应该使用剃刀视图引擎,但无论如何,想法很简单。不要在aspx视图中指定(删除)母版页文件引用并删除所有ContentPlaceHolders,直接在页面中写入所有内容。或者,如果您因某些原因不希望删除它们,还有另一种方法。制作PrintMaster.master
母版页,其中只包含ContentPlaceHolders。
答案 1 :(得分:2)
创建视图时,您可以更改母版页。如果取消选中该复选框,则视图不会显示母版页,您可以修改整个页面。
答案 2 :(得分:1)
如果您需要支持在页面上显示结果以及具有可打印视图,您可以创建第二个视图(例如名为PrintView
),该视图不使用页面布局并调用{{1}来自你的控制器。
答案 3 :(得分:1)
While creating a new view, you can uncheck the use layout checkbox.
This will create you a view with layout as null.
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test</title>
</head>
<body>
<div>
</div>
</body>
</html>
答案 4 :(得分:0)
标准打印样式操作可以通过多种方式完成。 1.使用带有打印按钮的不同视图,将布局设置为null,假设您可以映射到剃刀。
要使用CSS执行此操作 - 您需要一个单独的css文件,该文件将在打印时加载并隐藏您的母版页项目。查看有关关键字的各种文章 css媒体印刷 例如: http://webdesign.about.com/cs/css/a/aa042103a.htm
这使用
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
这里的密钥是media =“print”,它将仅在打印时使用该css。