Подтвердить что ты не робот

Отображение страницы в MVC 3 без макета

У меня есть страница, которая создает таблицу для печати. Мне нужно показать эту страницу без моей окружающей _Layout страницы, для удобства печати. ​​

Как мне это сделать?

4b9b3361

Ответ 1

Предполагая, что вы используете механизм просмотра бритвы (вы упомянули макет, а не главную страницу)

@{
    Layout = null;
 }

Ну, на самом деле вы должны использовать механизм просмотра бритвы, но в любом случае идея проста. Не указывайте (удалите) ссылку на файл главной страницы в своем представлении aspx и удалите все ContentPlaceHolders, напишите весь контент прямо на странице. Или иначе, если вы не захотите их удалить по какой-то причине. Создайте главную страницу PrintMaster.master, которая будет содержать только ContentPlaceHolders.

Ответ 2

Когда вы создаете представление, оно позволяет вам изменить главную страницу. Если вы сняли отметку с флажка, в представлении отсутствует мастер-страница, и вы можете изменить всю страницу.

Ответ 3

Если вам нужно поддерживать отображение результатов на странице, а также иметь доступный для печати вид, вы можете создать второе представление (например, с именем PrintView), которое не использует макет страницы и вызывает return View("PrintView"); с вашего контроллера.

Ответ 4

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>

Ответ 5

Стандартное действие стиля печати может быть выполнено несколькими способами. 1. используйте другое представление с кнопкой печати, которая устанавливает макет в значение null, предполагая, что вы можете сопоставить бритву.

Чтобы сделать это с помощью CSS - вам понадобится отдельный файл css, который будет загружен в печать и скроет ваши основные страницы. См. Различные статьи по ключевым словам css media print например: http://webdesign.about.com/cs/css/a/aa042103a.htm

В этом случае используется

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

с ключом здесь является media = "print", который будет использовать этот css только при печати. ​​