Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除后无法添加gridview_C#_Asp.net_Gridview_Add - Fatal编程技术网

C# 清除后无法添加gridview

C# 清除后无法添加gridview,c#,asp.net,gridview,add,C#,Asp.net,Gridview,Add,我正在使用实体框架,从数据库中获取数据并用它们填充我的gridview。用户从treview中选择的数据。简单地说,用户从treeview中选择数据,我将其放入gridview。最后,我有一个清除gridview的按钮。这是我的aspx: <div id="divPrint" style="background-color: white" runat="server"> <asp:UpdatePanel ID="UpdatePanel1" runat="server"&g

我正在使用实体框架,从数据库中获取数据并用它们填充我的gridview。用户从treview中选择的数据。简单地说,用户从treeview中选择数据,我将其放入gridview。最后,我有一个清除gridview的按钮。这是我的aspx:

<div id="divPrint" style="background-color: white" runat="server">
   <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>
       <p style="text-align:center">HDCVI KAMERA FİYAT TEKLİFİDİR</p>
         <asp:GridView ID="GridViewHdcvi" runat="server" DataSourceID="EntityDataSourceHdcvi" AutoGenerateColumns="False">
          <Columns>
          <asp:TemplateField HeaderText="ÜRÜN VE DETAYLARI">
          <ItemStyle Width="400px" />
          <ItemTemplate>
          <div style="color: red" class="text-center"><%#Eval("UrunAdi") %></div>
          <%#Eval("UrunDetay") %>
          </ItemTemplate>
          </asp:TemplateField>
          <asp:ImageField HeaderText="ÜRÜN GÖRSELİ" DataImageUrlField="UrunResim"></asp:ImageField>
           <asp:TemplateField HeaderText="BİRİM FİYAT">
           <ItemTemplate>
           <%#Eval("UrunFiyati") %>
            </ItemTemplate>
            </asp:TemplateField>
           <asp:TemplateField HeaderText="ADET">
              <ItemTemplate>
    <asp:TextBox ID="txtAdet" runat="server" Width="40px"></asp:TextBox>
           </ItemTemplate>
          </asp:TemplateField>
           </Columns>
          </asp:GridView>
          </ContentTemplate>
           </asp:UpdatePanel>
         </div>
<asp:Button ID="btnListiSifirla" runat="server" Text="Listeyi Sıfırla" CssClass="btn btn-danger" OnClick="btnListiSifirla_Click" />
我的代码隐藏:

 static List<string> urunList = new List<string>();

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        string id = TreeView1.SelectedValue;
        urunList.Add(id); 
        listeyiDoldur();
    }

    protected void listeyiDoldur() 
    {
        if (urunList.Count == 0)
        {
            failDiv.Visible = true;
        }
        else
        {
            string query = "SELECT UrunTable.UrunAdi, UrunTable.UrunFiyati, UrunTable.UrunResim, UrunTable.UrunKategori, UrunTable.UrunDetay FROM UrunTable WHERE ";
            foreach (var val in urunList)
            {
                if (val.Equals(urunList[urunList.Count - 1]))
                {
                    query += "UrunTable.UrunId = " + val;
                }
                else
                {
                    query += "UrunTable.UrunId = " + val + " || ";
                }
            }
            EntityDataSourceHdcvi.CommandText = query;
            divPrint.Visible = true;
            btnListiSifirla.Visible = true;
        }
    }

    protected void btnListiSifirla_Click(object sender, EventArgs e)
    {
        urunList.Clear();
        btnListiSifirla.Visible = false;
        Page_Load(null,EventArgs.Empty);
    }

我可以在gridview中成功显示所选数据,并在按下按钮时清除它们。问题是:清除gridview后,我无法再次添加最后添加的项。例如,如果我按此顺序添加item1、item2和item3,则在清除gridview后,我无法添加item3。我可以添加项目1或项目2,然后添加项目3。我不能先添加我在清除之前最后添加的项目。我尝试在button的onClick中清除gridview,并尝试了其他很多方法,但都没有得到任何结果。谢谢您的时间。

我看不出您在哪里清除网格数据,在按钮单击“btnListiSifirla”中单击您只是在清除列表并隐藏按钮本身并显式调用页面加载?这很奇怪,你不应该这样调用页面加载。我有'GridViewHdcvi.Columns.Clear;'在On Button click中,我删除了它,因为它没有解决我的问题。我不知道为什么要清除网格项,可以重新绑定它吗?你的问题我不清楚。