Доступ к Textbox из ячейки данных GridView (ASP.NET) - PullRequest
0 голосов
/ 26 апреля 2011
      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 голосов
/ 26 апреля 2011
 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...