web-dev-qa-db-ja.com

MVC 3でレイアウトなしでページを表示する

印刷可能なテーブルを生成するページがあります。このページを周囲に表示せずに__Layoutページ、プリンターの使いやすさ。

これをどうやってやるの?

51

かみそりビューエンジンを使用すると仮定します(マスターページではなく、レイアウトに言及しました)

@{
    Layout = null;
 }

実際には、カミソリビューエンジンを使用する必要がありますが、とにかく、アイデアは簡単です。 aspxビューでマスターページのファイル参照を指定(削除)せずに、すべてのContentPlaceHoldersを削除し、すべてのコンテンツをページに直接書き込みます。または、何らかの理由でそれらを削除したくない場合は、別の方法があります。 PrintMaster.master ContentPlaceHoldersのみを含むマスターページ。

117
archil

ビューを作成すると、マスターページを変更できます。チェックボックスをオフにすると、ビューにはマスターページが表示されなくなり、ページ全体を変更できます。

2
Carles Company
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>
1

ページに結果を表示し、印刷可能なビューを表示することをサポートする必要がある場合は、ページレイアウトを使用せずにreturn View("PrintView");を呼び出す2番目のビュー(たとえばPrintViewという名前)を作成できます。コントローラーから。

1
dariom

標準の印刷スタイルアクションは、いくつかの方法で実行できます。 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を使用します。

0