C# 在gridview中的链接按钮事件中选择行的id

C# 在gridview中的链接按钮事件中选择行的id,c#,asp.net,gridview,C#,Asp.net,Gridview,我已经在gridview中填充了数据。在gridview中,我有一个链接按钮,单击该按钮将使一个面板可见。现在我想在会话中保留所选行的id,并在面板中使用该id。我还知道如何找到gridview的id,但当特定行的链接按钮被选中时,我无法生成gridview事件选中 private void Bindgrid() { if (Session["CartId"] != null) { DataTable dt = new Data

我已经在gridview中填充了数据。在gridview中,我有一个链接按钮,单击该按钮将使一个面板可见。现在我想在会话中保留所选行的id,并在面板中使用该id。我还知道如何找到gridview的id,但当特定行的链接按钮被选中时,我无法生成gridview事件选中

 private void Bindgrid()
    {

        if (Session["CartId"] != null)
        {
            DataTable dt = new DataTable();
            int introws = 0;
            //string mandir_id = Request.QueryString["id"];
            string cmdstr = "select p.id,p.name,p.photo_id,p.price,m.name from puja p,mandir m,shoppingcart s where s.session_id='" + Session["CartId"] + "' and p.with_mandir=m.id and p.id=s.with_puja";
            //sQLcONN.Open();
            MySqlCommand cmd = new MySqlCommand(cmdstr, sQLcONN);
            MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
            adp.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();

            sQLcONN.Close();
        }
        else { }

    }

protected void Linkedit_click(object sender, EventArgs e)
    {



        pnl1.Visible = true;

    }
这是面板内的按钮事件,我实际上需要获取该Id

 protected void submit_Click(object sender, EventArgs e)
    {

       string  price = Session["price"].ToString();

        WebClient web = new WebClient();
        string url = string.Format("http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s={0}{1}=X", ddlFrom.SelectedValue.ToUpper(), ddlTo.SelectedValue.ToUpper());
        string response = web.DownloadString(url);
        string[] values = Regex.Split(response, ",");
        decimal rate = System.Convert.ToDecimal(values[1]);
        decimal amount = System.Convert.ToDecimal(price);
        rate = rate * amount;
        //string  result = System.Convert.ToString(rate);
        //result = rate;
        //rate = System.Convert.ToDecimal(lblResult.Text);
        lblResult.Text = rate.ToString();
    }

请帮我解决这个问题。…

使用以下代码:

 protected void Linkedit_click(object sender, EventArgs e)
        {
           LinkButton lnk_Button = (LinkButton)sender;
           GridViewRow id = (GridViewRow)lnk_Button.NamingContainer;
           Session["id"] = (string)gvrow.Cells[0].Text.ToString();//here you get first coloumn value
           pnl1.Visible = true;
        }

在GridView中存储您的id,如下所示:-

 <asp:TemplateField ShowHeader="False" meta:resourcekey="TemplateFieldResource4">
  <ItemTemplate>
  <asp:ImageButton ID="imgbtn" runat="server" CausesValidation="False"
  ImageUrl="~/Images/img.gif"   OnClick="imgbtn_Click" CommandArgument='<%#Eval("Id") %>'/>
  </ItemTemplate>
 <asp:Button ID="imgbtnSave" CausesValidation="False" runat="server" Text="yourText" OnClick="imgbtnSave_Click"/>

  protected void imgbtnSave_Click(object sender, EventArgs e) 
  {

            int id =  Convert.ToInt32(Session["Id"]); 
            // do stuff with your id    
  }
在面板中,如果您有
按钮
,请执行以下操作:-

 <asp:TemplateField ShowHeader="False" meta:resourcekey="TemplateFieldResource4">
  <ItemTemplate>
  <asp:ImageButton ID="imgbtn" runat="server" CausesValidation="False"
  ImageUrl="~/Images/img.gif"   OnClick="imgbtn_Click" CommandArgument='<%#Eval("Id") %>'/>
  </ItemTemplate>
 <asp:Button ID="imgbtnSave" CausesValidation="False" runat="server" Text="yourText" OnClick="imgbtnSave_Click"/>

  protected void imgbtnSave_Click(object sender, EventArgs e) 
  {

            int id =  Convert.ToInt32(Session["Id"]); 
            // do stuff with your id    
  }

受保护的无效imgbtnSave_单击(对象发送方,事件参数e)
{
intid=Convert.ToInt32(会话[“id”]);
//用你的身份证做事
}
试试这个

   protected void Linkedit_click(object sender, EventArgs e)
        {
          LinkButton  lnkedit  = sender as LinkButton;
          GridViewRow gvrow = lnkedit.NamingContainer as GridViewRow;
          int index = gvrow.RowIndex;  
          pnl1.Visible = true;

        }

gvrow是gridview的当前行,您可以随时执行任何操作…

您可以使用rowcommand事件来执行此操作,Nop id不会出现。此处的索引值始终为零。您可能正在单击gridview中的第一行链接,即y?索引为“0”。请点击其他行链接按钮,然后你可以得到行索引…我已经测试了代码,它是从我的工作结束。。。。