将ID添加到GridView Row

ren*_*thy 8 asp.net

如何向GridView行添加ID(应该呈现ID)?

我正在使用.NET(C#).我有GridView控件.

我有一些操作表行的javascript函数,但是必须为这些行设置ID:

<table>
    <tr id=1> ...  
    <tr id=2> ...  //id should come from database
..
Run Code Online (Sandbox Code Playgroud)

我的GridView源自DataBase中的Data.重要的是不要有FAKE ROW IDS,而是真正来自DB的行ID(有一些ajax javascript函数可以根据这些ID和用户对表的操作来更新DB).

我的部分GridView如下:

  <asp:GridView ID="grdNews" runat="server" BorderStyle="None" RowStyle-BorderStyle="None"
                GridLines="None" CssClass="table" Style="white-space: nowrap" AutoGenerateColumns="False"
                DataKeyNames="ID" AllowSorting="True" AllowPaging="true" OnSorting="grdNews_Sorting" OnRowDataBound="grdNews_RowDataBound">
                <RowStyle BorderStyle="None" />
                <HeaderStyle CssClass="nodrag" />
                <Columns>
                ....
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

 protected void grdNews_RowDataBound(object sender, GridViewRowEventArgs e)
{
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         e.Row.ID = grdNews.DataKeys[e.Row.RowIndex].Value.ToString();
     }
}
Run Code Online (Sandbox Code Playgroud)

这为e.Row.ID提供了正确的值,但这不会呈现此ID.

那么,如何在GridView中从DataBase for Rows呈现ID?

Amo*_*kar 18

试试以下....

protected void grdNews_RowDataBound(object sender, GridViewRowEventArgs e)
 {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
        GridViewRow row = e.Row;
        row.Attributes["id"] =grdNews.DataKeys[e.Row.RowIndex].Value.ToString();


      }
 } 
Run Code Online (Sandbox Code Playgroud)