关于在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#谢谢你!

关于在asp.net c#中动态创建的gridview中插入记录

根据我的猜测,原因是您在post back期间丢失数据。即,首先你的网格是填充的,但当你点击按钮,页面被张贴回来,网格出现给你是新的网格后发回。尝试使用(!isPostBack)。我不确定,但这可能会帮助你得到一点提示。