C# 在Gridview中执行更新操作后,会添加带有逗号的重复值

C# 在Gridview中执行更新操作后,会添加带有逗号的重复值,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在使用具有添加、更新和删除功能的嵌套网格视图。添加和删除操作正在成功运行。更新内部网格的特定条目时出现问题,它使用逗号分隔的前一个值更新该值。我不知道为什么会这样 在更新外部栅格值时,它可以很好地更新,而不会出现重复值 我的嵌套gridview代码: <asp:GridView ID="grdViewMaster" runat="server" AutoGenerateColumns="false" DataKeyNames="MasterID" CssClass="data

我正在使用具有添加、更新和删除功能的嵌套网格视图。添加和删除操作正在成功运行。更新内部网格的特定条目时出现问题,它使用逗号分隔的前一个值更新该值。我不知道为什么会这样

在更新外部栅格值时,它可以很好地更新,而不会出现重复值

我的嵌套gridview代码:

<asp:GridView ID="grdViewMaster" runat="server" AutoGenerateColumns="false" 
    DataKeyNames="MasterID" CssClass="dataTable" ShowFooter="true"
    OnRowCommand="grdViewMaster_RowCommand" OnRowEditing="grdViewMaster_RowEditing" 
    OnRowUpdating="grdViewMaster_RowUpdating"
    OnRowDeleting="grdViewMaster_RowDeleting" 
    OnRowCancelingEdit="grdViewMaster_RowCancelingEdit" 
    OnRowDataBound="grdViewMaster_OnRowDataBound">
    <Columns>
        <asp:TemplateField HeaderText="Options" ItemStyle-CssClass="mastertabletd" HeaderStyle-CssClass="mastertabletd" FooterStyle-CssClass="mastertabletd">
            <EditItemTemplate>
                <asp:ImageButton ID="imgbtnUpdateMaster" CommandName="Update" runat="server" ImageUrl="~/images/1-update.png" ToolTip="Update" Height="15px" Width="15px" />
                <asp:ImageButton ID="imgbtnCancelMaster" runat="server" CommandName="Cancel" ImageUrl="~/images/1-Cancel.png" ToolTip="Cancel" Height="15px" Width="15px" />
            </EditItemTemplate>
            <ItemTemplate>
                <asp:ImageButton ID="imgbtnEditMaster" CommandName="Edit" runat="server" ImageUrl="~/images/1-edit.png" ToolTip="Edit" Height="15px" Width="15px" />
                <asp:ImageButton ID="imgbtnDeleteMaster" CommandName="Delete" ImageUrl="~/images/delete.png" runat="server" ToolTip="Delete" Height="15px" Width="15px" />
                <a href="javascript:divexpandcollapse('div<%# Eval("MasterID")%>')">
                    <img id='imgdiv<%# Eval("MasterID")%>' alt="Details" src="images/plus.png" />
                </a>
            </ItemTemplate>
            <FooterTemplate>
                <asp:ImageButton ID="imgbtnAddMaster" runat="server" ImageUrl="~/images/1-add.png" CommandName="AddNewMaster" Width="15px" Height="15px" ToolTip="Add new User" ValidationGroup="validaiton" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Style #" ItemStyle-CssClass="mastertabletd" HeaderStyle-CssClass="mastertabletd" FooterStyle-CssClass="mastertabletd">
            <EditItemTemplate>
                <asp:TextBox ID="txtEditStyleID" runat="server" Text='<%#Eval("StyleID") %>' />
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="txtStyleID" runat="server" Text='<%# Eval("StyleID") %>' />                  
            </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="txtftrStyleID" runat="server" CssClass="width90per" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField ItemStyle-Width="0" HeaderStyle-Width="0" 
            FooterStyle-Width="0" ItemStyle-CssClass="mastertabletd" 
            HeaderStyle-CssClass="mastertabletd" FooterStyle-CssClass="mastertabletd">
            <ItemTemplate>
                <div id='div<%# Eval("MasterID")%>' style="display: none;" class="dataTables_wrapper">
                    <asp:GridView ID="gvExcelData" DataKeyNames="ID" runat="server" 
                        GridLines="Horizontal" ShowFooter="true" CssClass="dataTable" 
                        BorderStyle="None" EmptyDataText="No Data Found" 
                        AutoGenerateColumns="False" 
                        OnRowCommand="gvExcelData_RowCommand" 
                        OnRowEditing="gvExcelData_RowEditing" 
                        OnRowUpdating="gvExcelData_RowUpdating" 
                        OnRowDeleting="gvExcelData_RowDeleting" 
                        OnRowCancelingEdit="gvExcelData_RowCancelingEdit">
                        <EmptyDataRowStyle CssClass="form-horizontal fill-up validatable width100per" />
                        <Columns>
                            <asp:TemplateField HeaderText="Options">
                                <EditItemTemplate>
                                    <asp:ImageButton ID="imgbtnUpdate" CommandName="Update" runat="server" ImageUrl="~/images/1-update.png" ToolTip="Update" Height="15px" Width="15px" />
                                    <asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" ImageUrl="~/images/1-Cancel.png" ToolTip="Cancel" Height="15px" Width="15px" />
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:ImageButton ID="imgbtnEdit" CommandName="Edit" runat="server" ImageUrl="~/images/1-edit.png" ToolTip="Edit" Height="15px" Width="15px" />
                                    <asp:ImageButton ID="imgbtnDelete" CommandName="Delete" Text="Edit" runat="server" ImageUrl="~/Images/delete.png" ToolTip="Delete" Height="15px" Width="15px" />
                                </ItemTemplate>
                                <FooterTemplate>
                                    <asp:ImageButton ID="imgbtnAdd" runat="server" ImageUrl="~/images/1-add.png" CommandArgument='<%# Eval("MasterID") %>' OnClientClick="return validateInputField(this);" CommandName="AddNew" Width="15px" Height="15px" ToolTip="Add new User" ValidationGroup="validaiton" />
                                </FooterTemplate>
                            </asp:TemplateField> 
                            <asp:TemplateField HeaderText="Vendor #">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtVendorID" runat="server" Text='<%# Eval("VendorID") %>' />
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <div style="display: none">
                                        <asp:Label ID="lblMasterID" runat="server" Text='<%# Eval("MasterID") %>' />
                                    </div>
                                    <%#Eval("VendorID") %>                                                                               
                                </ItemTemplate>
                                <FooterTemplate>
                                    <asp:TextBox ID="txtftrVendorID" CssClass="txtftrVendorID" runat="server" />
                                </FooterTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <PagerStyle CssClass="custom-pagination" />
                        <PagerSettings Mode="NumericFirstLast" FirstPageText="Prev" LastPageText="Next" PageButtonCount="5" Position="Bottom" />
                        <FooterStyle CssClass="custom-footer" />
                    </asp:GridView>
                </div>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

请帮我解决这个问题。

既然您说插入工作正常,那么您的问题可能与您传递给更新方法的供应商ID有关

插入:

string vendorID = txtVendorID.Text;
insertToDatabase(masterID,vendorID);
更新:

string vendorID = txtVendorID.Text;
UpdateToDatabase(recordId,VendorID);

-1用于糟糕的格式…改进的格式。现在请
string vendorID = txtVendorID.Text;
UpdateToDatabase(recordId,VendorID);