关于在asp.net c#中动态创建的gridview中插入记录
本文关键字:创建 gridview 插入 记录 动态 asp net | 更新日期: 2023-09-27 18:05:04
我已经创建了gridview动态点击按钮的事件。我每行有4个字段(名,姓,关系,DOB)与添加链接按钮(lnkadd)。我使用Itemtemplate, edittemplate, EditItemTemplate, FooterTemplate来设计gridview。我使用函数在lnkadd单击事件中向gridview添加行,如下所示:
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();
但我没有得到文本框值。即(txtFName1.Text),它得到为空。请给我建议获得gridview内所有控件的值。Asp.net c#谢谢你!
根据我的猜测,原因是您在post back期间丢失数据。即,首先你的网格是填充的,但当你点击按钮,页面被张贴回来,网格出现给你是新的网格后发回。尝试使用(!isPostBack)。我不确定,但这可能会帮助你得到一点提示。