如何在GridView中向renderized td添加属性?

时间:2017-02-14 16:14:08

标签: c# html asp.net gridview

我正在使用ASP.NET GridView 在其中,我有一个TemplateField如下:

<asp:TemplateField HeaderText="Nº Despesa" SortExpression="NumeroDespesa">
    <ItemTemplate>
        <asp:Label ID='lblNumeroDespesa' runat="server" Text='<%#Bind("NumeroDespesa") %>' />
    </ItemTemplate>
    <HeaderStyle CssClass="gv-col-numerodespesa" />
    <ItemStyle CssClass="gv-col-numerodespesa text-center" />
</asp:TemplateField>

此代码在客户端呈现为:

<td class="gv-col-numerodespesa text-center">
    <span id="ContentPlaceHolder_Site_gvDespesa_lblNumeroDespesa_0">00403-03-01</span>
</td>

我想在td上添加数据标题,如下所示:

<td class="gv-col-numerodespesa text-center" data-title="Nº Despesa">
    <span id="ContentPlaceHolder_Site_gvDespesa_lblNumeroDespesa_0">00403-03-01</span>
</td>

我怎样才能实现它?

我的最终目标是实施NoMoreTables

1 个答案:

答案 0 :(得分:2)

有一种方法,但你可能不会喜欢它。反正我也不知道。

您可以订阅RowDataBound事件以及单元格的处理程序集属性。您需要知道列的索引。假设索引3:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Cells[3].Attributes.Add("data-title", "Nº Despesa");
    } 
}