C# 清除后无法添加gridview
我正在使用实体框架,从数据库中获取数据并用它们填充我的gridview。用户从treview中选择的数据。简单地说,用户从treeview中选择数据,我将其放入gridview。最后,我有一个清除gridview的按钮。这是我的aspx: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
<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中,我删除了它,因为它没有解决我的问题。我不知道为什么要清除网格项,可以重新绑定它吗?你的问题我不清楚。