为asp.net gridview中的每一行指定一个唯一的行ID

时间:2012-07-22 08:46:08

标签: c# asp.net .net gridview

我需要为asp.net gridview的每一行提供一个唯一的rowID。默认行为是它不向生成的<tr>提供任何行。怎么做到这一点?

    <tr id="UniqueID" class="orbox" style="color: rgb(51, 51, 51); background-color: AliceBlue; font-size: 11px; cursor: move;" align="center">
        <td></td>
    </tr>

修改:请参阅上面的代码,我要求提供HTML ID id="UniqueID"

2 个答案:

答案 0 :(得分:4)

在页面类的public int cRowID = 0;后面的代码上放置代码,然后放在您赢得使用此ID的GridView上,<%=cRowID++%>

例如:

<asp:TemplateField HeaderText="ID">
    <ItemTemplate ><%=cRowID++%></ItemTemplate>
</asp:TemplateField>

要将ID放在行上,您可以使用RowDataBound抓取行并添加属性:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridViewRow row = e.Row;
    if (row.RowType == DataControlRowType.DataRow)
    {
        row.Attributes["id"] = cRowID.ToString();
        cRowID++;
    }   
}

答案 1 :(得分:0)

如果您以编程方式创建DataGridView,那么您可以为GridViewRow.Id http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewrow_properties

赋予唯一值。