Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
DataList nn maniene il selectedvalue dopo il postBack
giovedì 18 marzo 2010 - 15.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 15:26
Sicuramente c'è qualche concetto di base che mi sfugge,
la situazione è semplice io ho un controllo data list che alla selezione passa un parametro per filtrare una gridview.
tutto funziona correttamente tranne che nella paginazione e nel sorting della gridview, quando cambio pagina la grid view si perde ilparametro , o meglio la dataList non lo mantiene.
hoprovato mettendo un dropdawnlist e funziona quindi il problema è la dataList..
qualcuno ha info da darmi per risolvere il problema?
grazie in anticipo
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 15:56
La gridView viene ricostruita al PostBack?
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 16:02
si viene ricostruita e non trovando il prametro risulta vuota o con il pram di default
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 16:29
In teoria NON devi ricostruirla perché ci pensa il viewstate/state control a mantenerla viva.
Prova e vedrai che funziona.
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 16:34
perdonami ma non riesco a capirti
questo è il codice
<asp:Panel ID="lista" runat="server">
<div class="DataListRassegna">
<asp:Label ID="lblSelectedIndex" runat="server" Text="anno" EnableViewState="true"></asp:Label>
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource2" DataKeyField="anno" CssClass="ListRassegna" CellPadding="0" OnSelectedIndexChanged="datalist1_selectedIndexChanged" EnableViewState="true" >
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select" CssClass="menuText" runat="server" >
<span class="menuText"><%# "Rassegna " + Eval("anno") %></span><span class="tab-l"> </span><span class="tab-r"> </span>
</asp:LinkButton>
</ItemTemplate>
</asp:DataList>
<%-- <asp:DropDownList ID="DataList1" DataSourceID="SqlDataSource2" DataTextField="anno" DataValueField="anno" runat="server" AutoPostBack="true">
</asp:DropDownList>--%>
</div>
</asp:Panel>
<asp:Panel ID="gridview" runat="server">
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="true" DataKeyNames="idArticolo" DataSourceID="SqlDataSource1">
</asp:GridView>
</asp:Panel>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ Appsettings:MSSQLConnectionStringOldUninettuno %>"
SelectCommand="SELECT [idArticolo], [dataText],convert(datetime, dataText,103)as data,[testata], [titolo] FROM [TArticoli] WHERE [idTipo]='1' AND isVisible = '1' and dataText <> '' and dataText <> 'non rimuovere' order by data desc"
ProviderName="System.Data.SqlClient"
FilterExpression="SUBSTRING(dataText,7,4) ='{0}'">
<FilterParameters>
<asp:ControlParameter ControlID="DataList1" Name="dText"
PropertyName="selectedvalue" Type="String" />
</FilterParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ Appsettings:MSSQLConnectionStringOldUninettuno %>"
EnableViewState="True"
SelectCommand="SELECT SUBSTRING(dataText,7,4)as anno FROM [TArticoli] WHERE [idTipo]='1' AND isVisible = '1' and dataText <> '' group by SUBSTRING(dataText,7,4)order by SUBSTRING(dataText,7,4) desc">
</asp:SqlDataSource>
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 16:54
><asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource2"
>DataKeyField="anno" CssClass="ListRassegna" CellPadding="0"
>OnSelectedIndexChanged="datalist1_selectedIndexChanged"
Cosa fai dentro questo metodo e/o in pagina?
In teoria non avresti bisogno di questo metodo ... e la pagina dovrebbe funzionare senza problemi.
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 16:57
inserisco il valore in una label
protected void datalist1_selectedIndexChanged(Object sender, EventArgs e)
{
lblSelectedIndex.Text = DataList1.SelectedValue.ToString();
}
hai detto bene DOBVREBBE funzionare
invece nada
con la dropdown che vedi commentata nessun problema
non riesco a capire
ma la selezione da parte della DataList funziona correttamente, è il paging ed il sorting della grid view che azzerano il filter
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 17:17
Hai verificate se nell'evento del LoadViewState ci sia ancora il valore selezionato al successivo post-back.
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 17:20
non so come verificarlo ma credo che il problema sia proprio quello
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 17:22
Mi riesci a dare gli script per costruire le due tabelle necessarie così provo a farlo girare?
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 17:28
puoi tranquillamente creare una tabella semplice con due campi e uno fa da filtro nel datalist
comunque la mia table è
CREATE TABLE [dbo].[TArticoli](
[idArticolo] [int] NOT NULL,
[data] [smalldatetime] NULL,
[dataText] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[idLingua] [int] NULL,
[eventi] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[hasDetails] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[titolo] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[isVisible] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[linkDetails] [nvarchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[newsletter] [int] NULL,
[titolo_en] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[titolo_fr] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[titolo_it] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[titolo_ar] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[titolo_sp] [nvarchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto_en] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto_fr] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto_it] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto_ar] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[contenuto_sp] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[eventi_en] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[eventi_fr] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[eventi_it] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[eventi_ar] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[eventi_sp] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione_en] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione_fr] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione_it] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione_ar] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[descrizione_sp] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[testata] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[idTipo] [int] NULL,
[linkDetails_en] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[linkDetails_fr] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[linkDetails_it] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[linkDetails_ar] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[linkDetails_sp] [nvarchar](300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[dataFine] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[pesoOrdine] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
grazie
amelix
Profilo
| Expert
694
messaggi | Data Invio:
gio 18 mar 2010 - 17:31
Ci guardo questa sera.
Ciao
Andrea
http://www.formulawan.com/?ref=DinaMelix
morphi
Profilo
| Newbie
7
messaggi | Data Invio:
gio 18 mar 2010 - 17:35
ok grazie
Novità? qualcuno ha avuto idee...
vabbè me sa che opto per la dropdownlist
ma nn capisco e ci esco matto
grazie comunque dell'aiuto
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !