在 MVC 3 中显示不带布局的页面
本文关键字:布局 MVC 显示 | 更新日期: 2023-09-27 17:56:56
>我有一个生成可打印表格的页面。我需要在没有周围_Layout
页面的情况下显示此页面,以便打印机友好。
我将如何做到这一点?
假设您使用 razor 视图引擎(您提到的布局,而不是母版页)
@{
Layout = null;
}
好吧,实际上你应该使用剃刀视图引擎,但无论如何,想法很简单。不要在 aspx 视图中指定(删除)母版页文件引用并删除所有 ContentPlaceHolder,直接在页面中写入所有内容。或者,如果您出于某种原因不想删除它们,还有另一种方法。制作PrintMaster.master
母版页,该母版页将只包含内容占位符。
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>
创建视图时,它允许您更改母版页。如果取消选中该复选框,则视图不附带母版页,您可以修改整个页面。
如果需要支持在页面上显示结果以及具有可打印视图,则可以创建不使用页面布局的第二个视图(例如名为 PrintView
),并从控制器调用return View("PrintView");
。
可以通过多种方式执行标准打印样式操作。1. 使用带有打印按钮的不同视图,该按钮将布局设置为 null,假设您可以映射到 Razor。
要使用 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。