Установите «стиль» в коде в Asp.net - PullRequest
0 голосов
/ 18 августа 2010

У меня есть страница с несколькими таблицами, и я хочу сделать разрыв страницы для печати между этими таблицами.Если я вручную установлю стиль элемента на «page-break-after: всегда», он, кажется, будет работать.

<table style="page-break-after:always;">

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

(у меня очень мало опыта asp \ html, так что это может быть очень новый вопрос)

Спасибо!

Ответы [ 3 ]

1 голос
/ 18 августа 2010

Если вы хотите добавить разрыв страницы после каждой таблицы, то не определяйте свой стиль встраивания (с атрибутом стиля ), но в заголовке вашей страницы или главной страницы:

<head>
    <style>
        table {
            page-break-after: always;
        }
    </style>
<head>

Или определите его во внешнем файле CSS:

site.css:

table {
    page-break-after: always;
}

ваша HTML-страница:

<head>
    <link rel="stylesheet" type="text/css" href="site.css" />
</head>
0 голосов
/ 18 августа 2010

Просто добавьте новый элемент в коллекцию Style динамически создаваемого элемента управления:

HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");
0 голосов
/ 18 августа 2010

если вы добавляете таблицы динамически в JavaScript, вы можете сделать:

с использованием jQuery:

$('#myTable').css({'page-break-after':'always'});

с использованием методов DOM:

myTableElem.setAttribute('style','page-break-after:always;');
//note, this fails in IE6/IE7/IE8(if not in standards mode) (due to an IE bug)

myTableElem.style.setAttribute('cssText', 'page-break-after:always;');//IE only way

Вероятно, это очевидно, но я бы порекомендовал использовать jQuery или подобную библиотеку, которая абстрагирует подобные ошибки, чтобы вы не страдали от проблем в некоторых / всех версиях IE.

В качестве альтернативы вы можете динамически добавить класс css ...

.page_break_after{
  page-break-after:always;
}

затем просто добавьте класс к тому, что вы хотите добавить:

$('#myTable').addClass('page_break_after');

или изначально ...

myTableElem.setAttribute('className', 'page_break_after');
...