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
.NET Framework
Creare pagine .aspx dinamicamente
lunedì 15 novembre 2010 - 12.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
|
SQL Server 2008 R2
evjen84
Profilo
| Newbie
1
messaggi | Data Invio:
lun 15 nov 2010 - 12:00
Buongiorno a tutti,
nella realizzazione di una web application per la gestione di una libreria on-line sto cercando di implementare una soluzione che segue le seguenti direttive:
- ho una pagina Catalogo.aspx in cui attraverso una listView visualizzo tutti i libri che ho memorizzato in DB (nel DB salvo anche il collegamento alla pagina che mostrerà i dettagli del libro che l'utente deciderà di visualizzare);
- ho una pagina dettaglioLibro.aspx che deve visualizzare i "dettagli" del libro (autore, editore, prezzo, quantità...) su cui l'utente decide di cliccare e che deve popolarsi ogni volta a seconda della scelta effettuata dall'utente sul catalogo(la pagina dettaglioLibri.aspx è una sola);
Facendo opportune ricerche in rete ho appreso che attraverso il metodo: request.querystring("nomeCampo")
riesco a recuperare il valore, in questo caso una stringa, del codiceLibro(ISBN) su cui l'utente clicca dalla pagina Catalogo.aspx.
La pagina dettaglioLibro, quindi, ogni volta che sarà caricata andrà a cercare in DB l'isbn del libro richiesto per recuperare i dettagli del libro affinchè venga riempita di contenuti.
Fin qui tutto chiaro.
Il problema è sorto quando mi son reso conto che il metodo request.querystring("nomeCampo") prende uno e un solo isbn alla volta, poichè nel catalogo libri ho ovviamente più di un libro.
Cmq tale metodo non sono riucito ad implementarlo, perchè nella pagina dettaglioLibro nel punto in cui effettuo la SELECT su DB:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="SELECT * FROM [libri] WHERE isbn='' " DataSourceMode="Dataset" CacheDuration="Infinite"
ConnectionString="data source=.\SqlExpress; initial catalog=bookstore; user id=sa; password=peppino">
</asp:SqlDataSource>
non sono riuscito a passargli il valore recuperato con queryString...
C'è qualcuno che sa chiarirmi cosa è necessario fare e come quindi procedere?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 30 dic 2010 - 02:53
>Buongiorno a tutti,
ciao e benvenuto su dotnethell.it!
mi ero perso questo post senza risposta
>Il problema è sorto quando mi son reso conto che il metodo request.querystring("nomeCampo")
>prende uno e un solo isbn alla volta, poichè nel catalogo libri
>ho ovviamente più di un libro.
a dire il vero, se tu passi al querystring valori separati da virgola (n tuoi isbn separati dal carattere ",") la request ti torna un array.
Quindi diciamo che puoi tranquillamente passare più di un valore, visto che il tipo di ritorno è NameValueCollection (simile al dictionary asp).
>non sono riuscito a passargli il valore recuperato con queryString...
manca il segnaposto del parametro:
SelectCommand="SELECT * FROM [libri] WHERE isbn=@isbn"
e poi la definizione del parametro stesso dentro al sql data source:
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.querystringparameter
(VS.80).aspx
devi aggiungere tra i select command parameters il tuo parametro @isbn di tipo "querystringparameter".
A quel punto dovresti essere a posto.
Se però devi far vedere più di un libro alla volta, devi intercettare il request e usare la namevaluecollection per passare ad una stored procedure ad esempio, la tabellina o l'elenco dei valori che ti servono.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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 !