9 messaggi dal 28 agosto 2015
Il sito di un mio cliente presenta una pagina di ricerca prodotti basata su QueryString/SelectParameters su base dati MS Access.

Attualmente la pagina funziona correttamente, però sono state richieste alcune modifiche a livello di UI, ovvero la modalità con cui vengono inseriti i termini di ricerca (fondamentalmente il "motore"; di ricerca è rimasto lo stesso).

Ma veniamo al problema: la nuova pagina di ricerca prodotti funziona perfettamente quando lavoro in locale, ma va in errore quando la pubblico nel sito del cliente, ovvero appare il messaggio che ho indicato in oggetto.

L' errore dovrebbe riferirsi ad un problema legato ai parametri di ricerca che passo alla SELECT di ricerca.
Le cose che però non riesco a spiegarmi sono:
- come ho scritto prima, la modalità di ricerca è sempre la stessa (NON ho messo mano alla Select)
- la pagina va in errore anche appena aperta, senza nessuna query string specificata nell 'URL
- in locale tutto funziona correttamente
- il database nel webserver è sempre nella stessa posizione e le policy di accesso non sono state modificate

Probabilmente mi sto perdendo in una stupidata, ma non riesco proprio a trovare una soluzione o una metolodogia per avvicinarmi all' errore.

Se vi dovesse servire:
La pagina funzionante è https://www.mitopolimeri.it/prodsearch.aspx
Quella in fase di sviluppo (NON funzionante) https://www.mitopolimeri.it/prodsearch1.aspx
oppure chiedete pure se vi serve vedere qualche snippet di codice.

Riuscite per favore a darmi dei suggerimenti?

Grazie in anticipo a tutti quelli che mi aiuteranno.

P.S.: attualmente in web.config il customErrors è impostato a mode="On"; eventualmente fatemi sapere se vi serve impostato a Off (anche se in realtà non vengono fornite molte info aggiuntive)
Modificato da steno.reghe il 14 novembre 2018 11.02 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dall'errore sembra che tu abbia un SelectParameter a cui non hai assegnato alcun valore. Ad esempio, se è un QueryStringParameter, passa alla pagina la chiave querystring che porta lo stesso nome. Altrimenti definisci un valore di default come segue:
<asp:QueryStringParameter Name="Search" DefaultValue="" />


Poi adegua la query SELECT in modo che in presenza del valore di default non applichi alcun filtro. Ad esempio:
SELECT * FROM Tabella WHERE @Search='' OR descrizione LIKE '%' + @Search + '%'


Oppure ancora, gestisci l'evento OnSelecting del datasource e modifica dinamicamente la query per includere una clausola WHERE solo quando il filtro non assume il valore di default. Ecco un esempio:
https://www.experts-exchange.com/questions/24020848/Dynamically-setting-the-SqlDataSource-SelectCommand-in-C.html


ciao,
Moreno
Modificato da BrightSoul il 13 novembre 2018 22.08 -

Enjoy learning and just keep making
9 messaggi dal 28 agosto 2015
Grazie Moreno per la pronta risposta. Il fatto è che i parametri e la query erano già impostato come avevi suggerito.

Stamattina invece ho "sezionato" il codice, togliendo pezzi di qua e di là per vedere cosa succedeva: ad esempio ho tolto tutti i parametri e passata la Select "secca", ma andava ancora in errore.

Poi mi è venuto un dubbio, che magari tu riesci a spiegarmi: il codice relativo alla vecchia UI era tutto messo a commento
con <!-- --> eppure il browser cercava di interpretarlo ugualmente, peccato che in locale andasse e su webserver no.

Tu sai darmi una spiegazione di tale comportamento? non posso nemmeno fidarmi se una vecchia istruzione è impostata come commento?

Grazie ancora
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dovrei vedere il codice per capire bene cosa sta succedendo. Comunque, supponiamo che la situazione sia questa:
<!-- <%= StampaDataOraCorrente() %> -->


Anche se StampaDataOraCorrente() si trova in un commento HTML, essa verrà eseguita lo stesso. Il suo risultato verrà certamente incluso nella pagina (vai a vedere il sorgente HTML). Tuttavia, quando apri la pagina nel browser, non vedrai quel testo perché si trova in un commento HTML.

ciao,
Moreno
Modificato da BrightSoul il 14 novembre 2018 13.54 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.