如题,不用asp.net内置的获取方法,用LinkButton控件的click,load事件,需要获取当前行主键值
用vs2008 c#.net

解决方案 »

  1.   

    <asp:LinkButton id="linkbtn" runat="server" CommandName="L" CommandArgument=' <%# Eval("主键ID") %>'>void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e)
      {
        if(e.CommandName=="L")
        {
         int ID= Convert.ToInt32(e.CommandArgument);
         response.write(ID);
        }
    }
    protected void LinkButton1_Click(object sender, EventArgs e) 
      { 
          string id=((LinkButton)sender).CommandArgument.ToString() ; 
      } 
    或 
    LinkButton  btn  =  sender  as  LinkButton; 
    GridViewRow  row  =  btn.NamingContainer  as  GridViewRow; 
    GridView  grd  =  row.NamingContainer  as  GridView; 
    int  id  =  (int)grd.DataKeys[row.RowIndex].Value; 
      

  2.   

    如题,不用asp.net内置的获取方法,用LinkButton控件的click,load事件,需要获取当前行主键值 
    用vs2008 c#.net
      

  3.   

    <asp:LinkButton ID="LbSelect" runat="server" OnClientClick='<%# "OpenParentWindow(\""+Eval("主键名")+"\");return false;" %>'>选择</asp:LinkButton>
      

  4.   

    自己解决,可行
    -int rowindex = ((GridViewRow)(((LinkButton)sender).NamingContainer)).RowIndex; //返回行索引,即第几行
    -string id = GridView1.DataKeys[rowindex].Value.ToString();//返回行索引对应的主键值,默认是object类型,转换为string了
      

  5.   


    protected void LinkButton_Click(object sender, EventArgs e)
    {
        int rowindex = ((sender as LinkButton).NamingContainer as GridViewRow).RowIndex;
        string id = GridView1.DataKeys[rowindex].Value.ToString();
    }