C# asp.net gridview没有';不能拯救国家

C# asp.net gridview没有';不能拯救国家,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我在从母版页继承的asp.net页面中有一个asp.net gridview。 网格视图位于updatepanel中。我需要让用户向网格中添加行,因此我在标题中添加了一个按钮。这是网格代码 我的问题是,当我按下AddNewRow按钮时,所有网格内容都消失了,尽管我将它们保存在一个datatable中,但我重新绑定了它。 任何帮助都将不胜感激 谢谢您请先尝试不使用UpdatePanel,看看是否是它导致了问题(或者在重新绑定网格时调用updtSPG.Update(),这样UpdatePanel肯

我在从母版页继承的asp.net页面中有一个asp.net gridview。 网格视图位于updatepanel中。我需要让用户向网格中添加行,因此我在标题中添加了一个按钮。这是网格代码

我的问题是,当我按下AddNewRow按钮时,所有网格内容都消失了,尽管我将它们保存在一个datatable中,但我重新绑定了它。 任何帮助都将不胜感激
谢谢您

请先尝试不使用UpdatePanel,看看是否是它导致了问题(或者在重新绑定网格时调用updtSPG.Update(),这样UpdatePanel肯定也会更新)。
                                                                    <asp:UpdatePanel runat="server" UpdateMode="Conditional"  ID="updtSPG">

                                                                        <ContentTemplate>

                                                                            <asp:GridView ID="grdSPGData" runat="server" HorizontalAlign="Center" OnRowDataBound="grdSPGData_RowDataBound"

                                                                                AutoGenerateColumns="false" AllowPaging="false" EnableViewState="true" ShowHeaderWhenEmpty="true" ShowFooter="true"

                                                                                DataKeyNames="SPGID" CssClass="table table-hover table-striped table-bordered centerGridHead" OnRowCommand="grdSPGData_RowCommand">

                                                                                <Columns>

                                                                                    <asp:TemplateField HeaderText="" Visible="false" ShowHeader="false">

                                                                                        <ItemTemplate>

                                                                                            <asp:Label ID="lblSPGID" runat="server" Visible="false" Text='<%# Bind("SPGID") %>'></asp:Label>

                                                                                        </ItemTemplate>

                                                                                    </asp:TemplateField>

                                                                                    <asp:TemplateField HeaderText="Specialty Group" HeaderStyle-Width="40%">

                                                                                        <ItemTemplate>

                                                                                            <asp:DropDownList ID="ddlSPGSpecialities" runat="server" class="form-control "/>



                                                                                        </ItemTemplate>



                                                                                       <%-- <FooterTemplate>

                                                                                            <asp:DropDownList ID="ddlSPGSpecialities" runat="server" class="form-control "/>

                                                                                        </FooterTemplate>--%>

                                                                                    </asp:TemplateField>

                                                                                    <asp:TemplateField HeaderText="TPA 1_2" HeaderStyle-Width="15%">

                                                                                        <ItemTemplate>

                                                                                            <%--<asp:TextBox ID="txtSPGTPA1_2" CssClass="text-center" Text='<%# Bind("TPA1_2") %>' Width="100%" EnableViewState="true" runat="server" AutoPostBack="true" OnTextChanged="txtSPGTPA1_2_TextChanged">  </asp:TextBox>--%>

                                                                                            <asp:TextBox ID="txtSPGTPA1_2" CssClass="text-center"   Width="100%" EnableViewState="true" runat="server"  >  </asp:TextBox>

                                                                                        </ItemTemplate>



                                                                                       <%-- <FooterTemplate>

                                                                                            <asp:TextBox ID="txtSPGTPA1_2" CssClass="text-center"   Width="100%" EnableViewState="true" runat="server"  >  </asp:TextBox>

                                                                                        </FooterTemplate>--%>

                                                                                    </asp:TemplateField>

                                                                                    <asp:TemplateField HeaderText="TPA 3_5" HeaderStyle-Width="15%">

                                                                                        <ItemTemplate>

                                                                                            <%--<asp:TextBox ID="txtSPGTPA3_5" CssClass="text-center" Text='<%# Bind("TPA3_5") %>' Width="100%" EnableViewState="true" runat="server" AutoPostBack="true" OnTextChanged="txtSPGTPA3_5_TextChanged">  </asp:TextBox>--%>

                                                                                            <asp:TextBox ID="txtSPGTPA3_5" CssClass="text-center"  Width="100%" EnableViewState="true" runat="server" >  </asp:TextBox>

                                                                                        </ItemTemplate>

                                                                                       <%-- <FooterTemplate>

                                                                                            <asp:TextBox ID="txtSPGTPA3_5" CssClass="text-center"  Width="100%" EnableViewState="true" runat="server" >  </asp:TextBox>

                                                                                        </FooterTemplate>--%>

                                                                                    </asp:TemplateField>

                                                                                    <asp:TemplateField HeaderText="Total Doctors" ItemStyle-Width="30%">

                                                                                        <ItemTemplate>

                                                                                            <%--<asp:TextBox ID="txtSPGTotalDocs" CssClass="text-center" Text='<%# Bind("TotalDoctors") %>' Width="100%" EnableViewState="true" runat="server" AutoPostBack="true" OnTextChanged="txtSPGTotalDocs_TextChanged">  </asp:TextBox>--%>

                                                                                            <asp:TextBox ID="txtSPGTotalDocs" CssClass="text-center"   Width="100%" EnableViewState="true" runat="server"  >  </asp:TextBox>

                                                                                        </ItemTemplate>

                                                                                       <%-- <FooterTemplate>

                                                                                            <asp:TextBox ID="txtSPGTotalDocs" CssClass="text-center"   Width="100%" EnableViewState="true" runat="server"  >  </asp:TextBox>

                                                                                        </FooterTemplate>--%>

                                                                                    </asp:TemplateField>

                                                                                    <asp:TemplateField ItemStyle-Width="30%">

                                                                                        <HeaderTemplate>

                                                                                            <asp:LinkButton id="btnAddToSPGGrid" CommandName="AddNewRow" runat="server" CausesValidation="false"  Text="<i aria-hidden='true' class='icon-plus'></i>" CssClass="btn btn-info btn-xs "/>

                                                                                        </HeaderTemplate>

                                                                                        <ItemTemplate>

                                                                                    <asp:LinkButton id="btnRemove" runat="server" CausesValidation="false"  Text="<i aria-hidden='true' class='icon-remove'></i>" CssClass="btn btn-primary btn-xs "/>

                                                                                        </ItemTemplate>

                                                                                    </asp:TemplateField>

                                                                                </Columns>

                                                                            </asp:GridView>

                                                                        </ContentTemplate>

                                                                        <Triggers>

                                                                            <%--<asp:AsyncPostBackTrigger  ControlID="ContentPlaceHolder2_grdSPGData_btnAddToSPGGrid" EventName="click" />--%>

                                                                            <%--<asp:AsyncPostBackTrigger  ControlID="txtSPGTPA3_5" EventName="TextChanged" />

                                                                            <asp:AsyncPostBackTrigger  ControlID="txtSPGTotalDocs" EventName="TextChanged" />--%>

                                                                        </Triggers>

                                                                    </asp:UpdatePanel>

                                                                </div>
  protected void createNewRow()

{

    //GridViewRow gvRow = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Insert);

    dtSPG = new DataTable();



    //dtSPG = (DataTable)Session["dtSPG"];

    //dtSPG = (Session["dtSPG"] == null ? new DataTable() : (DataTable)Session["dtSPG"]);

    if (dtSPG.Columns.Count == 0)

    {

        dtSPG.Columns.Add("SPGID", typeof(string));

        dtSPG.Columns.Add("dos_id", typeof(string));

        dtSPG.Columns.Add("TPA1_2", typeof(string));

        dtSPG.Columns.Add("TPA3_5", typeof(string));

        dtSPG.Columns.Add("TotalDoctors", typeof(string));

    }

    DataRow dr;

    foreach (GridViewRow row in grdSPGData.Rows)

    {

        dr = dtSPG.NewRow();



        dr[0] = ((Label)row.Cells[0].FindControl("lblSPGID")).Text;

        dr[1] = ((DropDownList)row.Cells[1].FindControl("ddlSPGSpecialities")).SelectedValue;

        dr[2] = ((TextBox)row.Cells[1].FindControl("txtSPGTPA1_2")).Text;

        dr[3] = ((TextBox)row.Cells[2].FindControl("txtSPGTPA3_5")).Text;

        dr[4] = ((TextBox)row.Cells[3].FindControl("txtSPGTotalDocs")).Text;



        dtSPG.Rows.Add(dr);

    }

    dr = dtSPG.NewRow();

    dr[0] = Guid.NewGuid(); dr[1] = ""; dr[2] = ""; dr[3] = ""; dr[4] = "";

    dtSPG.Rows.Add(dr);

    //spgs.Add(new SpecialtyGroup("2", "00000001-0000-0000-0000-000000000000", 1, 3, 5));

    //spgs.Add(new SpecialtyGroup("2", "00000001-0000-0000-0000-000000000000", 1, 3, 5));



    grdSPGData.DataSource = dtSPG;

    grdSPGData.DataBind();

    Session["dtSPG"] = dtSPG;

}







    protected void grdSPGData_RowCommand(object sender, GridViewCommandEventArgs e)

{

    if (e.CommandName.Equals("AddNewRow"))

    {



        createNewRow();

    }

}