c# - Twitter Bootstrap 和 ASP.NET GridView

标签 c# asp.net gridview .net-4.0 twitter-bootstrap

我在使用 Twitter Bootstrap 时遇到问题从我的 ASP.NET 应用程序。当我将 table table-striped css 类用于我的 asp:GridView 控件时,它将表格的 Header 视为

我的 GridView

ASP.NET 标记

<asp:GridView ID="dgvUsers" runat="server" 
    CssClass="table table-hover table-striped" GridLines="None" 
    AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="UserID" HeaderText="ID" Visible="false" />
        <asp:BoundField DataField="Username" HeaderText="Username" />
        <asp:BoundField DataField="FirstName" HeaderText="First Name" />
        <asp:BoundField DataField="LastName" HeaderText="Last Name" />
    </Columns>
    <RowStyle CssClass="cursor-pointer" />
</asp:GridView>

结果

Header treated as a row

<table id="cphMainContent_dgvUsers" class="table table-hover table-striped" 
       cellspacing="0" style="border-collapse:collapse;">
    <tbody>
        <tr>
            <th scope="col">Username</th>
            <th scope="col">First Name</th>
            <th scope="col">Last Name</th>
        </tr>
        <tr class="cursor-pointer">
            <td>user1</td>
            <td>Test</td>
            <td>User 1</td>
        </tr>
        <tr class="cursor-pointer">
            <td>user2</td>
            <td>Test</td>
            <td>User 2</td>
        </tr>
        <tr class="cursor-pointer">
            <td>user3</td>
            <td>Test</td>
            <td>User 3</td>
        </tr>
    </tbody>
</table>

应该是这样的

It should be like this

<table class="table table-striped">
    <thead>
        <tr>
            <th>#</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Username</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Mark</td>
            <td>Otto</td>
            <td>@mdo</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Jacob</td>
            <td>Thornton</td>
            <td>@fat</td>
        </tr>
        <tr>
            <td>3</td>
            <td>Larry</td>
            <td>the Bird</td>
            <td>@twitter</td>
        </tr>
    </tbody>
</table>


如何使我的 asp:GridView 的 header 被 Twitter Bootstrap 视为 header ? 我的代码在 C# 中,框架 4,在 VS2010 Pro 中构建。

最佳答案

你需要设置useaccessibleheader gridview 的属性为 true然后还指定一个 TableSection在调用 DataBind() 后成为标题GridView 对象上的方法。因此,如果您的 GridView 是 mygv

mygv.UseAccessibleHeader = True
mygv.HeaderRow.TableSection = TableRowSection.TableHeader

这应该会产生一个格式正确的网格 theadtbody标签

关于c# - Twitter Bootstrap 和 ASP.NET GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12362361/

相关文章:

asp.net - 删除未使用的 HTTP 处理程序以获得更好的性能和安全性

jquery - 将 Ajax 函数添加到 Asp.net 应用程序中的 gridview

c# - Linq 到实体 : Where clause containing ToString fails

c# - 对象关系映射

c# - 了解 Mediatr 的 Autofac 配置

asp.net - Paypal IPN 一直失败,我做错了什么?

c# - 从 linq 查询中获取列表中的第一项

c# - 验证消息来自哪里?

android - 使用数据库中的 gridview 在 android 中显示数据

java - 如何使用jackcess将数据从数组传递到数据库