Печать указанных элементов из веб-формы Asp.net - PullRequest
0 голосов
/ 14 марта 2011

У меня есть веб-страница asp.net, созданная с помощью веб-форм.На нем есть несколько видов сетки, которые заполняются из базы данных одним нажатием кнопки.

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

Любая помощь очень ценится

Marc

Ответы [ 3 ]

2 голосов
/ 14 марта 2011

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

Вот очень простой пример - допустим, у вас есть сводный текст, который должен быть включен только в версию для печати, и некоторые кнопки, которые должны быть включены только в экранную версию.

Markup:

<p class="printOnly">
    Here is my summary text.
</p>
<asp:button ID="btnSomeButton" runat="server" Text="Some Server Button" CssClass="screenOnly" />

CSS:

@media print {
    .screenOnly { display: none; }
}

@media screen {
    .printOnly { display: none; }
}

В итоге любой элемент, отмеченный CSS классом screenOnly, будет скрыт от содержимого печати, а любой элемент, отмеченный CSS классом printOnly, будет скрыт от экранной версии.

Оттуда просто есть кнопка печати или ссылка на странице где-то с:

<a href="#" onclick="window.print();" class="screenOnly">Print Page</a>
0 голосов
/ 14 марта 2011

Простой способ печати содержимого веб-страницы - использование Javascript.

<script language="JavaScript" type="text/JavaScript"> 
    function doPrint() { 
    bdhtml=window.document.body.innerHTML; 
    sprnstr="<!--startprint-->"; 
    eprnstr="<!--endprint-->"; 
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); 
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); 
    window.document.body.innerHTML=prnhtml; 
    window.print(); 
    } 

0 голосов
/ 14 марта 2011

Возможно, вы используете window.print() для печати веб-формы.

Создайте несколько div с текстом, который вы хотите внутри, и спрятайте div изначально.

Когда нажата кнопка печати, вызовите функцию javascript, чтобы отобразить div, и вызовите window.print(). После window.print() снова скройте div.

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