Ciao a tutti, ormai da 2 settimane cerco la soluzione a questo problema, ho una listview che funziona perfettamente ho inserito un Ddl per eseguire dei filtri che sembra funzionare, ma non appena cambio pagina con il datapager la listview si svuota, dove sta il mio errore?
vi posto il codice, grazie!!!
<asp:UpdatePanel runat="server" ID="UpdatePanel_Products" UpdateMode="Conditional">
<ContentTemplate>
<asp:Literal runat="server" ID="Lt_FiltroProdotto" Visible="false"></asp:Literal>
<asp:DropDownList runat="server" ID="Ddl_FiltroStato" CssClass="Select-Form">
<asp:ListItem Text="Visualizza tutti i prodotti" Value="All"></asp:ListItem>
<asp:ListItem Text="Venduti" Value="Completed"></asp:ListItem>
<asp:ListItem Text="Sospesi" Value="Pending"></asp:ListItem>
<asp:ListItem Text="Disponibili" Value="Available"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:DropDownList runat="server" ID="Ddl_FiltroProdotto" CssClass="Select-Form" OnTextChanged="Ddl_FiltroProdotto_TextChanged" AutoPostBack="true">
<asp:ListItem Text="Ordina per codice" Value="Code"></asp:ListItem>
<asp:ListItem Text="per prezzo" Value="Price"></asp:ListItem>
<asp:ListItem Text="per nome" Value="Name"></asp:ListItem>
</asp:DropDownList>
<br />
<br />
<asp:ListView runat="server" ID="Lw_ProdottiLista">
<ItemTemplate>
<div class="Box-products">
<div class="BP-column-left">
<div class="img-big">
<div class="span4">
<div class="menu_item">
<div class="menu_item_center">
<div class="mask2">
<div class="gallery-cornice-mini">
<a href="<%#String.Format("../images-user/Prodotti/{0}", Eval("NomeFile_img"))%>" class="fancybox" rel="gallery1" >
<asp:Image runat="server" ID="Img_AnteprimaProdotto" ImageUrl='<%#String.Format("~/images-user/Prodotti/{0}", Eval("AnteprimaFile_img"))%>' CssClass="gallery-cornice-img" />
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="icon-button">
<asp:HyperLink runat="server" ID="Lnk_img_Dettagli" ImageUrl="~/images-user/icon_info-2.png" ToolTip="Dettagli prodotto"></asp:HyperLink>
</div>
<div class="icon-button">
<asp:HyperLink runat="server" ID="Lnk_EditProdotto" ImageUrl="~/images-user/icon_Edit_24x24.png" ToolTip="Modifica prodotto"></asp:HyperLink>
</div>
<div class="icon-button">
<asp:Image runat="server" ID="Image1" ImageUrl='<%# String.Format("~/images-user/icon_24x24_{0}", Eval("StatoVendita_prodottoLista") + ".png")%>' />
</div>
</div>
<div class="BP-column-right">
<h1>
<asp:Label runat="server" ID="Lb_NomeProdotto" Text='<%# Eval("Nome_prodotto") %>'></asp:Label>
</h1>
<h3>
Codice articolo: <asp:Label runat="server" ID="Lb_CodiceProdotto" Font-Bold="true" Text='<%# Eval("Codice_prodotto") %>'></asp:Label>
</h3>
<h2>
<asp:Label runat="server" ID="Lb_DescrizioneProdotto" Text='<%# Eval("Descrizione_prodotto").ToString().Length > 125 ? Eval("Descrizione_prodotto").ToString().Substring(0,125) : Eval("Descrizione_prodotto") %>'></asp:Label> <asp:HyperLink runat="server" ID="Lnk_Dettagli" Text="[...]" NavigateUrl="#"></asp:HyperLink>
</h2>
<div class="PrezzoScontato">
¤ <asp:Label runat="server" ID="Lb_PrezzoSconto" Text='<%# Eval("PrezzoScontato_prodottoLista") %>'></asp:Label>
</div>
<div class="PrezzoListino">
¤ <asp:Label runat="server" ID="Lb_PrezzoListino" Text='<%# Eval("Prezzo_prodottoLista") %>'></asp:Label>
</div>
<div class="ButtonCart">
<div class="imgButton">
<asp:ImageButton runat="server" ID="ImgBtn_AddCart" ImageUrl="~/images-user/Add-Carrello.png" />
</div>
<div class="TxtButton">
<asp:LinkButton runat="server" ID="LnkBtn_AddCart" Text="aggiungi"></asp:LinkButton>
</div>
<div class="imgButton">
<asp:ImageButton runat="server" ID="ImgBtn_AddQuota" ImageUrl="~/images-user/Add-Quota.png" />
</div>
<div class="TxtButton">
<asp:LinkButton runat="server" ID="LnkBtn_AddQuota" Text="acquista quota"></asp:LinkButton>
</div>
</div>
</div>
</div>
</ItemTemplate>
<EmptyDataTemplate>
Nessun prodotto per questa lista
</EmptyDataTemplate>
</asp:ListView>
<div class="DataPager">
<asp:DataPager runat="server" ID="DataPager" PageSize="4" PagedControlID="Lw_ProdottiLista">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="false" ShowPreviousPageButton="true" />
<asp:NumericPagerField CurrentPageLabelCssClass="DataPagerNews_NumberSelect" ButtonCount="10" />
<asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="true" ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>
</div>
<asp:UpdateProgress runat="server" ID="Up_Loading" AssociatedUpdatePanelID="UpdatePanel_Products" DynamicLayout="true">
<ProgressTemplate>
<div id="Background"></div>
<div id="Progress">
<asp:Image runat="server" ID="img_loading" ImageUrl="~/Themes/01_Default/images/Loading_32x32.gif" AlternateText="" />
<br />
Attendi... Grazie!!!
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
</asp:UpdatePanel>
protected void Page_Load(object sender, EventArgs e)
{
UpdatePanelProdotto();
}
void UpdatePanelProdotto()
{
if (Ddl_FiltroProdotto.SelectedValue == "Code")
Lt_FiltroProdotto.Text = " Liste_Prodotti_Lista.Codice_prodottoLista ";
if (Ddl_FiltroProdotto.SelectedValue == "Price")
Lt_FiltroProdotto.Text = " Liste_Prodotti_Lista.PrezzoScontato_prodottoLista ";
if (Ddl_FiltroProdotto.SelectedValue == "Name")
Lt_FiltroProdotto.Text = " Liste_Prodotti.Nome_prodotto ";
ListView_Products();
UpdatePanel_Products.Update();
}
void ListView_Products()
{
SqlConnection dataConnectionLw = new SqlConnection();
dataConnectionLw.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
dataConnectionLw.Open();
SqlCommand dataCommandLw = new SqlCommand();
dataCommandLw.Connection = dataConnectionLw;
dataCommandLw.CommandText = ("SELECT * FROM Liste_Prodotti INNER JOIN Liste_Prodotti_Immagini ON Liste_Prodotti.Codice_prodotto = Liste_Prodotti_Immagini.CodiceProdotto_img INNER JOIN Liste_Prodotti_Lista ON Liste_Prodotti_Lista.Codice_prodottoLista = Liste_Prodotti.Codice_prodotto WHERE Liste_Prodotti_Immagini.Cover_img='true' AND Liste_Prodotti_Lista.Lista_prodottoLista='" + Request.QueryString["Lista"] + "' AND Liste_Prodotti_Lista.Visibile_prodottoLista='true' AND Liste_Prodotti.Stato_prodotto='Pubblicato' AND Liste_Prodotti_Lista.StatoVendita_prodottoLista!='Eliminato' ORDER by" + Lt_FiltroProdotto.Text + "ASC");
Lw_ProdottiLista.DataSource = dataCommandLw.ExecuteReader();
Lw_ProdottiLista.DataBind();
dataConnectionLw.Close();
}
protected void Ddl_FiltroProdotto_TextChanged(object sender, EventArgs e)
{
UpdatePanelProdotto();
}