2011-08-08 38 views
0

我已經創建了gridview按鈕的click事件動態。我每行有4個字段(名字,姓氏,關係,DOB)加上鍊接按鈕(lnkadd )。我使用Itemtemplate,edittemplate,EditItemTemplate,FooterTemplate來設計gridview。 我使用的功能添加行中lnkadd點擊事件的GridView如下:關於在asp.net中插入記錄到動態創建的gridview c#

tabemp = (DataTable)Session["tabempsession"]; 

     if (tabemp.Rows.Count == 1) 
     { 

      if (Convert.ToString(tabemp.Rows[0].ItemArray.GetValue(0)) == "") 
      { 
       tabemp.Rows.Clear(); 
      } 
     } 
     DataRow drow = tabemp.NewRow(); 

     //create new veriable of(textbox,dropdownlist etc) in ItemTemplate in grid view 

     TextBox txtFName1 = (TextBox)mygridview.FooterRow.FindControl("txtFName1");   
     TextBox txtLName1 = (TextBox)mygridview.FooterRow.FindControl("txtLName1"); 
     DropDownList ddlRelation = (DropDownList)mygridview.FooterRow.FindControl("ddlRelation"); 
     TextBox txtDOB = (TextBox)mygridview.FooterRow.FindControl("txtDOB"); 

     //insert values into rows in tabemp table 
     drow[0] = txtFName1.Text; 

     drow[1] = txtLName1.Text; 
     drow[2] = ddlRelation.SelectedItem.Text; 
     drow[3] = txtDOB.Text; 

     tabemp.Rows.Add(drow); 
     Session["tabempsession"] = tabemp; 
     //int f = tabemp.Rows.Count; 
     mygridview.DataSource = (DataTable)Session["tabempsession"]; 
     mygridview.DataBind(); 

,但我沒有得到文本框的值.IE(txtFName1.Text),它越來越空。請給我建議獲取gridview中所有控件的值。 Asp.net C# 謝謝。

+0

單步執行代碼。我的猜測是FindControl沒有找到控件。 –

+0

我該怎麼辦? – abc

回答

0

根據我的猜測,原因是您在回發期間丟失了數據。即首先你的網格被填滿了,但是當你點擊按鈕時,頁面被回傳,網格在回傳後顯示爲新的網格。嘗試使用(!isPostBack)。 M不知道,但這可能會幫助你得到提示。

+0

如果我使用(!ispostback),那麼gridview是不可見的 – abc

相關問題