在Asp.net中的代码中设置“样式”

时间:2010-08-17 22:41:39

标签: asp.net coding-style page-break

我有一个页面上有多个表格,我希望在这些表格之间打印一个分页符。如果我手动将元素的样式设置为“page-break-after:always”,它似乎可以正常工作。

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

但是我已经动态地添加了表格,所以我需要在代码中执行它...只是不知道如何。

(我的asp \ html经验很少,所以这可能是一个非常新手的问题)

谢谢!

3 个答案:

答案 0 :(得分:1)

如果您想在每个表后添加分页符,请不要在内嵌样式(使用样式属性),而是在页面的头部或母版页:

<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>

答案 1 :(得分:0)

如果要在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');

答案 2 :(得分:0)

只需将新项添加到动态创建的控件的Style集合中:

HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");