23 messaggi dal 29 novembre 2003
Ciao,

premetto che utilizzo vb.net e ho creato un form con alcuni campi di ricerca. Il form deve puntare ad una pagina chiamata report.aspx (che si trova nella stessa directory). Ho provato a inserire il nome della pagina nel tag form action="report.aspx", ma quando clicco sul pulsante submit il form viene ricaricato e la pagina report.aspx non viene chiamata. Come faccio a risolvere il problema?

Grazie.
con .net non si usa più questo modo di fare le cose

ma devi gestire i postBack alla stessa pagina
23 messaggi dal 29 novembre 2003
ok. Ho provato a mettere la listbox nello stesso file del report però il mio problema è questo: la listbox contiene un elenco enorme di nominativi presi dal database tramite un oledbdataadapter e di conseguenza un dataset, e quindi ogni volta che clicco su un nominativo della listbox ci mette un sacco di tempo a visualizzarmi il report. Ho anche pensato a creare un link che rimanda l'utente ad una pagina a se' dove può selezionarsi i nominativi tramite caselle di spunta però poi non so come fare a far leggere questi valori dal report in questione.

Tu cosa ne pensi?

Grazie.

Ciao
11.886 messaggi dal 09 febbraio 2002
Contributi

con .net non si usa più questo modo di fare le cose

no, è .net che ti costringe a pensarla in questo modo.


la listbox contiene un elenco enorme di nominativi presi dal database tramite un oledbdataadapter

ok, può essere un motivo valido per voler postare i dati ad un'altra pagina.
Se hai problemi con il form (non riesci a cambiare la action) passa i dati via querystring.
Predisponi nella prima pagina un bottone che non sia submit (puoi anche non farlo runat=server) e ci metti questo javacript:

<input type="button" value="vai col report" onClick="Javascript:window.location.href='report.aspx?id='+document.nomeform.nomelistbox.value">

Questo aprirà la pagina report.aspx passando il valore dell'elemento selezionato nella listbox.
Trattandosi del passaggio di pochi dati (un solo parametro se ho ben capito), puoi usare in maniera efficiente anche la querystring. ciao.

ps. se vuoi fare un vero e proprio post ad un'altra pagina, cambia l'action lato client, con un javascript. Poi nella pagina ricevente mettici questo:

<script language="VB" runat="server">
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
'qui niente
End Function
</script>

Servirà per evitare che l'incongruenza del viewstate causi un errore. Potrai recuperare i dati con Request.Form("nomecontrollo")
ciao

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.