这是我的aspx:
<asp:GridView ID="GVWOReport" runat="server" DataSourceID="ldsWOReport"
onprerender="GVWOReport_PreRender" GridLines="None" CssClass="report" >
<HeaderStyle CssClass="headerRow" />
<RowStyle CssClass="row" />
<AlternatingRowStyle CssClass="altRow" />
<FooterStyle CssClass="footer" />
</asp:GridView>
这是我呈现的HTML:
<table class="report" cellspacing="0" id="GVWOReport" style="border-collapse:collapse;">
<thead>...</thead>
<tbody>...</tbody>
</table>
我希望table标签除了我的class和id属性之外什么都没有。我发现GridLines="None"
夺走了边界,但我无法让cellspacing
和style
消失。
在设计视图中将CellSpacing属性设置为-1。这样做后我没有得到任何样式或cellspacing属性。我使用的是asp.net 4.0。
看看GridView Control Adapter: ASP.NET 2.0 CSS Friendly Control Adapters 1.0。如果提供的功能比您需要的更多:
适用于
GridView
控件的适配器的目标是创建一个<table>
,它比没有适配器时生成的更轻薄,更有条理。当然,您可以重写此适配器以完全消除<table>
,将其替换为各种<div>
标签等。但是,从根本上说,网格是一个表格,因此保留它是合乎逻辑的。改编的
GridView
消除了内联样式的使用。<table>
内的行被组织成<thead>
,<tfoot>
和<tbody>
部分。这些使得更容易阅读和理解标记。更重要的是,这些部分可以轻松创建管理<table>
中特定行的外观的CSS规则。