我在使用 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>
结果
<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>
应该是这样的
<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
这应该会产生一个格式正确的网格 thead
和 tbody
标签
关于c# - Twitter Bootstrap 和 ASP.NET GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12362361/