Как создать версию (базовый контроллер) для печати? - PullRequest
1 голос
/ 07 апреля 2009

Я работаю над проектом, и я хотел бы получить версию представлений, которая у меня есть для печати. Есть ли кто-нибудь, кто уже сделал это и есть несколько советов, как это сделать? (какой тип маршрутизации используется и т. д.)

Я думал о создании PrintController. В ActionResult метода в PrintController для возврата View с определенной главной страницей.

public ActionResult Index(string printView)
{
  return View(@"~/Views/Product/Index", "PrinterFriendly_MasterPage"); 
}

Стефан Уолтер не советует использовать такой тип перенаправления ( tip # 24 ), потому что MVC не такой, каким он должен был быть.

В представлении будет ссылка для печати страницы, например:
- обычная ссылка: www.example.com/product;
- распечатать ссылку: www.example.com/print/product;

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


Спасибо за быстрый ответ, но я не совсем так, как я хочу. У меня уже есть определенные CSS-файлы для печати. ​​

Взгляните на следующий голландский веб-сайт, например Нормальный просмотр и Просмотр печати .

Мне нужна ссылка, которая отображает тот же вид, но с другой главной страницей. На другой главной странице я включаю файлы CSS для печати.

Таким образом, пользователь получает вид, который почти совпадает с «Предварительный просмотр печати» из меню браузеров.

Преимущество такого способа состоит в том, что он будет соответствовать стандарту WCAG.

Ответы [ 3 ]

1 голос
/ 07 апреля 2009

Не создавайте отдельные представления. Просто создайте специальный файл CSS для печати, используя media = print в ссылке, и браузер должен автоматически использовать этот CSS при печати. ​​

1 голос
/ 10 апреля 2009

Почему бы просто не указать атрибут "media" в вашей css-ссылке?

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

Таким образом, вы можете использовать 1 мастер-страницу, но по-разному просматривать как на экране, так и на принтере.

1 голос
/ 07 апреля 2009

Как насчет простого создания css для печати, которое скроет навигацию и все, что вы не хотите показывать на распечатке.

см. http://meyerweb.com/eric/articles/webrev/200001.html и http://www.alistapart.com/articles/goingtoprint/ для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...