2016-01-26 9 views
0

Я пытаюсь вставить в таблицу sql с использованием шаблона заголовка gridview, в команде gridview rowcommand. Я пытаюсь найти элемент управления, и он не может получить значение.GridViewRowCommand can not find header row textbox value

protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "Insert") 
    { 
     string NetWeightConnectionStrings = ConfigurationManager.ConnectionStrings["NetWeightConnectionString"].ToString(); 
     string query = "INSERT INTO [Net Weight Tracking] ([Date])VALUES (@Date)"; 
     using (SqlConnection sqlConn = new SqlConnection(NetWeightConnectionStrings)) 
     using (SqlCommand cmd = new SqlCommand(query, sqlConn)) 
     { 
      String Date = ((TextBox)GridV1.HeaderRow.FindControl("TextBox31")).Text; 
      cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value = DateTime.ParseExact(((TextBox)GridV1.HeaderRow.FindControl("TextBox31")).Text, "dd/MM/yyyy", null); 
      sqlConn.Open(); 
      DataTable dt = new DataTable(); 
      dt.Load(cmd.ExecuteReader()); 
      GridV1.DataSource = dt; 
      GridV1.DataBind(); 
      sqlConn.Close(); 
     } 
    } 
} 

любой помощь очень ценится

+0

Где находится этот TextBox31, расположенный в строке заголовка? – Agalo

+0

@Agalo находится под HeaderTemplate –

ответ

0

Вы можете попробовать RowDataBound события, чтобы получить контроль шаблона заголовка.

protected void GridView1__RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      TextBox txtControl = (TextBox)e.Row.FindControl("TextBox31"); 
     } 
    } 

EDIT 1

Из ссылки общей для GridView размечать, TextBox31 не в HeaderItemTemplate, он находится в EditItemTemplate. Это было бы причиной, вы не можете найти текстовое поле.

<EditItemTemplate> 
         <asp:TextBox ID="TextBox31" runat="server" Text='<%# Bind("Field4") %>'></asp:TextBox> 
        </EditItemTemplate> 
+0

, но мне это нужно под защищенным void GridView1_RowCommand1 (отправитель объекта, GridViewCommandEventArgs e) –

+0

вы можете вставить разметку страницы aspx для gridview? – Agalo

+0

весь aspx моего gridview можно увидеть по адресу http://pastebin.com/MbU6fn9V –

 Смежные вопросы

  • Нет связанных вопросов^_^