从GridView数据单元访问Textbox(ASP.NET)

时间:2011-04-26 02:01:09

标签: asp.net gridview

      protected void GridView2_OnCommand(Object sender, GridViewCommandEventArgs e)

        {
            if (e.CommandName == "Reply")
            {
                con = new System.Data.SqlClient.SqlConnection();
                con.ConnectionString = "Data Source=myconnectionstring; Integrated Security = true; Connect Timeout = 30; User Instance = True";
                con.Open();

                string div = "','";
                GridViewRow selectedRow = GridView2.Rows[Convert.ToInt32(e.CommandArgument)];
                SqlCommand cmd = new SqlCommand("INSERT INTO SellerResponse VALUES ('" +
                    //THIS LINE IS THE ISSUE
                Request.QueryString["ID"] + div + selectedRow.Cells[2].Text + div + DateTime.Now.ToString() + div + selectedRow.Cells[3].Text + ((System.Web.UI.WebControls.TextBox)(FindControl(selectedRow.Cells[1].UniqueID))).Text /*this is the cell that contains the textbox*/+ "');", con);
            }
        }

有任何想法如何实现这个?

1 个答案:

答案 0 :(得分:0)

 protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
        {

            try
            {
                int index = Convert.ToInt32(e.CommandArgument);

                if (e.CommandName == "Reply")
                {

                   on = new System.Data.SqlClient.SqlConnection();
                   con.ConnectionString = "Data Source=myconnectionstring; Integrated Security = true; Connect Timeout = 30; User Instance = True";
                   con.Open();

                   string div = "','";
                   GridViewRow selectedRow = GridView2.Rows[Convert.ToInt32(e.CommandArgument)];
                   SqlCommand cmd = new SqlCommand("INSERT INTO SellerResponse VALUES ('" +
                   //THIS LINE IS THE ISSUE
                   Request.QueryString["ID"] + div + GridView2.Rows[index].Cells[2].Text + div + DateTime.Now.ToString() + div + GridView2.Rows[index].Cells[3].Text + ((System.Web.UI.WebControls.TextBox)(GridView2.Rows[index]Cells[1].FindControl("the name of the text box")).Text /*this is the cell that contains the textbox*/+ "');", con);

                }
            }


            catch (Exception ee)
            {
                string message = ee.Message;
            }
        }

注意:1-在aspx中:CommandArgument='<%#((GridViewRow)Container).RowIndex%>'

   2- use RowCommand event for the grid view.