将列值作为id添加到asp.net中GridView的每一行

Pra*_*hav 0 gridview

我正在使用此代码为GridView的每一行提供唯一的ID

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

其中cRowID是全局整数变量.
这段代码给我HTML代码

<table id="gridview1">
 <tr id="1"><td>...</td></tr>
 <tr id="2"><td>...</td></tr>
  .
  .  
 <tr id="n"><td>...</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

如何将cRowID替换为添加到同一行的特定列(比如column1)值?


在HTML中添加tr标签的ID后编辑我希望它成为

<tr id="abc" ><td>abc</td><td>...</td></tr>
<tr id="pqr" ><td>pqr</td><td>...</td></tr>
<tr id="xyz" ><td>xyz</td><td>...</td></tr>
Run Code Online (Sandbox Code Playgroud)

可能吗?如果是,请解释如何?

Sat*_*ngh 5

测试试试这个

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
     int counter=1;
     foreach (GridViewRow oItem in GridView1.Rows)
     { 
        counter++;
        oItem.Cells[0].Text = counter.ToString();
        oItem.Attributes.Add("id", "yourvalue");//here you can set row id ie(<tr>)
     }
   }
Run Code Online (Sandbox Code Playgroud)

编辑

foreach (GridViewRow oItem in GridView1.Rows)
     { 
        string getFirstColValue = oItem.Cells[0].Text;
        oItem.Attributes.Add("id", getFirstColvalue );
     }
Run Code Online (Sandbox Code Playgroud)