C# Asp.net Gridview:添加行时,Gridview中的文本框中没有数据

C# Asp.net Gridview:添加行时,Gridview中的文本框中没有数据,c#,asp.net,button,gridview,textbox,C#,Asp.net,Button,Gridview,Textbox,这是我的第一个问题,所以如果你不明白,就说出来,这样我会更具体 这是我的aspx代码 <asp:GridView ID="GridView1" runat="server" Style="margin-right: 0px" CellPadding="4" ForeColor="#333333" GridLines="None" ShowFooter="True" AutoGenerateColumns="False"> <Columns>

这是我的第一个问题,所以如果你不明白,就说出来,这样我会更具体

这是我的aspx代码

<asp:GridView ID="GridView1" runat="server" Style="margin-right: 0px" CellPadding="4" ForeColor="#333333" GridLines="None" ShowFooter="True" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField DataField="Nummer" HeaderText="Nummer" />
            <asp:TemplateField HeaderText="Omschrijving" ControlStyle-Width="300px">
                <FooterTemplate>
                    <asp:TextBox ID="txt_omschrijvingbank" runat="server"></asp:TextBox>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Grootboekrekening">
                <FooterTemplate>
                    <asp:DropDownList ID="dr_grootboek" runat="server" DataSourceID="SqlDataSource2" DataTextField="grootboekrekening" DataValueField="grootboekrekeningnummer"></asp:DropDownList>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Btw">
                <FooterTemplate>
                    <asp:DropDownList ID="drp_btw" runat="server">
                        <asp:ListItem>Selecteer btw</asp:ListItem>
                        <asp:ListItem>21%</asp:ListItem>
                        <asp:ListItem>6%</asp:ListItem>
                        <asp:ListItem>0%</asp:ListItem>
                    </asp:DropDownList>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Debet">
                <FooterTemplate>
                    <asp:TextBox ID="txt_debet" runat="server"></asp:TextBox>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Credet">
                <FooterTemplate>
                    <asp:TextBox ID="txt_credit" runat="server"></asp:TextBox>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="">
                <FooterTemplate>
                    <asp:Button ID="btn_voegtoe" OnClick="Button3_Click" runat="server" Text="Voeg toe" />
                </FooterTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
在页脚中有一对文本框和一个按钮,如果您按下按钮,它将使用您在文本框中写入的数据创建一个新行。但问题是:它正在创建一个新行!!但行中没有数据

我希望你们中的一些人能帮助我。如果你需要更多的细节,请询问


Daan.

如果您能够成功地更新数据库中的数据,而唯一的问题是它在更新后没有显示数据,那么您只需要重新加载页面。 尝试:
重定向(Request.RawUrl)

问题是,我不希望数据立即进入数据库。首先,用户必须添加几行数据,完成后,数据将存储在数据库中。现在的问题是行中没有数据。所以我不能在数据库中存储任何东西
DataTable dt1 = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            gridVIEWData();
            begin();
            GridView1.DataSource = dt1;
            GridView1.DataBind();

        }
    }
    private void gridVIEWData()
    {
        dt1.Columns.Add(new DataColumn("Nummer", typeof(string)));
        dt1.Columns.Add(new DataColumn("Omschrijving", typeof(string)));
        dt1.Columns.Add(new DataColumn("Grootboekrekening", typeof(string)));
        dt1.Columns.Add(new DataColumn("Btw", typeof(string)));
        dt1.Columns.Add(new DataColumn("Debet", typeof(string)));
        dt1.Columns.Add(new DataColumn("Credit", typeof(string)));

        Session["dtInSession"] = dt1;     //Saving Datatable To Session 
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        if (Session["dtInSession"] != null)
            dt1 = (DataTable)Session["dtInSession"]; //Getting datatable from session 

        TextBox Omschrijving = (TextBox)GridView1.FooterRow.FindControl("txt_omschrijvingbank");
        DropDownList Grootboekrekening = (DropDownList)GridView1.FooterRow.FindControl("drp_grootboek");
        DropDownList Btw = (DropDownList)GridView1.FooterRow.FindControl("drp_btw");
        TextBox Debet = (TextBox)GridView1.FooterRow.FindControl("txt_debet");
        TextBox Credit = (TextBox)GridView1.FooterRow.FindControl("txt_credit");

        Response.Write(Credit.Text);

        DataRow dr = dt1.NewRow();
        dr["Nummer"] = 1;
        dr["Omschrijving"] = Omschrijving.Text;
        dr["Grootboekrekening"] = Grootboekrekening.SelectedItem;
        dr["Btw"] = Btw.SelectedItem;
        dr["Debet"] = Debet.Text;
        dr["Credit"] = Credit.Text;
        dt1.Rows.Add(dr);

        Session["dtInSession"] = dt1;     //Saving Datatable To Session 
        GridView1.DataSource = dt1;
        GridView1.DataBind();
        }

    private void begin()
    {
        if (Session["dtInSession"] != null)
            dt1 = (DataTable)Session["dtInSession"]; //Getting datatable from session 
        DataRow dr = dt1.NewRow();
        dr["Nummer"] = 1;
        dr["Omschrijving"] = string.Empty;
        dr["Grootboekrekening"] = string.Empty;
        dr["Btw"] = string.Empty;
        dr["Debet"] = string.Empty;
        dr["Credit"] = string.Empty;
        dt1.Rows.Add(dr);
        Session["dtInSession"] = dt1;     //Saving Datatable To Session 
        GridView1.DataSource = dt1;
        GridView1.DataBind();

    }