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

时间:2012-03-03 19:54:06

标签: asp.net gridview

这是我的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消失。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

  

适配器对GridView控件的目标是创建一个   <table>比生产的更苗条,更有条理   没有适配器。当然,您可以将此适配器重写为   完全删除<table>,将其替换为各种<div>   但是,从根本上说,网格似乎是一个表格   这样做是合乎逻辑的。

     

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