如何在没有任何样式属性的情况下渲染gridview?

问题描述 投票:3回答:2

这是我的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"夺走了边界,但我无法让cellspacingstyle消失。

asp.net gridview
2个回答
4
投票

在设计视图中将CellSpacing属性设置为-1。这样做后我没有得到任何样式或cellspacing属性。我使用的是asp.net 4.0。


1
投票

看看GridView Control Adapter: ASP.NET 2.0 CSS Friendly Control Adapters 1.0。如果提供的功能比您需要的更多:

适用于GridView控件的适配器的目标是创建一个<table>,它比没有适配器时生成的更轻薄,更有条理。当然,您可以重写此适配器以完全消除<table>,将其替换为各种<div>标签等。但是,从根本上说,网格是一个表格,因此保留它是合乎逻辑的。

改编的GridView消除了内联样式的使用。 <table>内的行被组织成<thead><tfoot><tbody>部分。这些使得更容易阅读和理解标记。更重要的是,这些部分可以轻松创建管理<table>中特定行的外观的CSS规则。

© www.soinside.com 2019 - 2024. All rights reserved.