在GridView里加入下面代码<asp:TemplateField> 
<ItemStyle HorizontalAlign="Center" Width="12%" /> 
<ItemTemplate> 
<asp:LinkButton ID="Link1" OnCommand="Link1_clink" runat="server" Text="设为封面"></asp:LinkButton>
</ItemTemplate> 
</asp:TemplateField>后台是
 protected void Link1_clink(object sender, EventArgs e)
    {
     }那我在后台怎么获取到点击此按钮的该记录的ID啊??

解决方案 »

  1.   

    放在DataKeys
    详细请参看MSDN
      

  2.   

    改成这样:<asp:LinkButton ID="Link1" CommandName="setcmd" CommandArgument='此处绑定记录的ID' runat="server" Text="设为封面"></asp:LinkButton>然后
    在GridView的RowCommand事件中写
      if(e.CommandName=="setcmd")
    {
      int Id=Convert.ToInt32(e.CommandArgument) //获取该记录的ID
     //其他代码
    }
      

  3.   

    xray2005(我是“风车车”,因为人要活的像“风车车”!才快乐!) 正解
    只是不知道怎么用CommandArgument传2个参数~~关于DataKeys用法
    <asp:GridView ID="GV" DataKeyNames="ID,Name"....
     <Columns>
      <asp:BoundField DataField="ID".../>
      <asp:BoundField DataField="ID".../>
      ...
     </Columns>
    </asp:GridView>后台代码
    DataKey DataKey = GV.DataKeys[i];  //i是行数
    DataKey[0]     //ID
    DataKey[1]     //Name