新手求教,关于gridview
想实现功能,在gridview中增加一列,详细信息,点击之后,进入详细信息页面,并显示出此记录对应的详细信息。
------解决方案--------------------要给Gridview1指定唯一标识列(目的是点击超链接列的时候知道是哪一行,一般是ID),后台的方法是->
Gridview1.DataKeyNames = new string[] { "ID"};
添加一个超链接列,设置CommandName="Select" ,这样就可以触发_SelectedIndexChanged事件。
在Gridview1_SelectedIndexChanged事件内写写如下代码即可知道用户点击的是哪一行
 Label1.Text = "ID:" + Gridview1.SelectedDataKey["ID"].ToString();
------解决方案--------------------前台实现:
<asp:GridView ID="GridView1" runat="server"  OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="800px" OnRowCommand="GridView1_RowCommand" >
                       <Columns>
                      <asp:CommandField HeaderText="详细" SelectText="详细" ShowSelectButton="True">
                           <HeaderStyle Wrap="False" />
                           <ItemStyle Wrap="False" />
                       </asp:CommandField>
                       </Columns>                      
                       <SelectedRowStyle BackColor="Silver" />
                   </asp:GridView>
后台实现:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
   {
       int i = GridView.SelectedIndex;
       int id = GridView.DataKeys[i].Value;
       HttpCookie regCodecookie = new HttpCookie("id ");
       regCodecookie.Value = Convert.ToInt32(id );
       HttpContext.Current.Response.Cookies.Add(regCodecookie);
       Response.Redirect("信息.aspx");            
   }