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
Link di collegamento a pagina aspx dopo login
lunedì 22 febbraio 2010 - 22.18
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
lun 22 feb 2010 - 22:18
Dopo l'inserimento di un codice utente e una password gestita personalmente attraverso una tabella di un database vorrei, in caso di autenticazione con successo, aprire un’altra pagina aspx contenente i dati visibili all’utente selezionato.
Ho due problemi:
Quello che reputo il link di collegamento (ma non so se la sintassi è corretta) non risponde al click su ACCESSO AI DATI e rimane fermo li, ecco il codice interessato:
If reader.Read() Then
FormsAuthentication.SetAuthCookie(reader("con_key"), False)
Session.Add("con_utente", reader("con_key"))
Errore.Text = " AUTENTICAZIONE CORRETTA !!<br/><a href='C:\ceiweb\ceiweb\ceiweb\vw-imprese.aspx()'>ACCESSO AI DATI</a>"
Else
Errore.Text = "USER O PASSWORD NON CORRETTI"
End If
Inoltre avrei bisogno di passare il campo “con_key” sulla seconda pagina aspx vorrei sapere se e come possibile farlo.
Grazie, Maurizio.
Jok83
Profilo
| Junior Member
139
messaggi | Data Invio:
mar 23 feb 2010 - 10:35
Ciao
una volta fatta l'autenticazione puoi passare a una nuova pagina esistente con il comando:
Response.Redirect(url, False)
mentre per salvare un dato è giusto come hai fatto in sessione:
session.add(nome,valore)
e lo recuperi dove vuoi, per esempio assegnandolo a una label:
label1.text=session.item(nome)
spero sia ciò che cerchi ciao!
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 23 feb 2010 - 11:11
Sono riuscito a far aprire la pagina, ma per quanto riguarda il passaggio del dato mi segnala errore a livello del compilatore.
Premettendo che sto iniziando ora ad utilizzare asp.net il mio obiettivo e quello di passare un nome (con_utente) che fa parte di una tabella di un database.
Nella form di arrivo questo valore dovrà essere inserito in una select di tale tabella per selezionare i record da visualizzare (solo quelli con tale dato corrispondente).
Questa form è composta da una gridview e da un detailview (funzionanti) quindi per passare il valore ho inserito quanto segue:
sub page_load(byval sender as object, byval e as eventargs)
labelprova.text = session.item(con_utente)
End sub
il compilatore mi segnala che con_utente (il dato salvato nella pagina precedente) non è dichiarato.
E' chiaro che manca qualcosa....
Grazie, Maurizio.
Jok83
Profilo
| Junior Member
139
messaggi | Data Invio:
mar 23 feb 2010 - 11:26
Ok io faccio così:
pagina 1 :
' qui in qualche modo prendi il tuo con_utente..non so se è in un dataset o in una text o in una grid ma non importa a noi interessa salvarlo e si fa così
session.add("UtenteCod",ds.tables("miatabella").row(0).item(2)) ' "UtenteCod è il nome che identifica il dato salvato nella sessione, mentre il valore in questo caso ho supposto di 'averlo nel dataset alla riga 0 colonna 2 ma potrebbe essere quello che vuoi txtutente.text,una stringa messa al momento "NOME" ecc
Pagina 2 :
' qui devo recuperare il dato salvato nel tuo caso in una query
dim sel as string ="Select * from tabella2 where cod_utente=@cod"
dim cmd as new sqlclient.sqlcommand(sel,cn)
cmd.parameters.addwithvalue("@cod",session.item("UtenteCod")) ' lo recupero chiamando il campo in sessione con lo stesso nome salvato chiramente ne puoi fare quello che vuoi una volta salvato...
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 23 feb 2010 - 12:03
In realtà ora nella page_load mettendo quella labelprova
labelprova.text = session.item(con_utente) riesco a visualizzare sulla seconda pagina il codice passato
quello che mi manca è solamente inserire nelle select della gridview il test where dit_studio = con_utente
tuttavia mi si schianta dicendo che c'è errore di sintassi nei pressi della clausola where
Grazie ancora, Maurizio
Jok83
Profilo
| Junior Member
139
messaggi | Data Invio:
mar 23 feb 2010 - 12:24
mmmh ma come la carichi la grid?
dove e come componi la select, se puoi posta un esempio..
o se lo fai da oggetto devi mettere il parametro dalla session...
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 23 feb 2010 - 12:33
1281_CODICE.zip
Ti allego il codice della seconda pagina (non è lungo), tieni conto che il campo LINKFIELD è quello che contiene il valore passato dalla pagina 1 (e passa correttamente).
la stessa gridview levando il test where ecc... funziona correttamente se lo inserisco ora mi dice
campo LINKFIELD non valido.
Grazie, Maurizio
Jok83
Profilo
| Junior Member
139
messaggi | Data Invio:
mar 23 feb 2010 - 12:49
Ok allora manca nel tuo Sqldatasource1 la clausula where con un parametro che faccia riferimento al valore salvato in sessione, quindi quando toglievi la clausula where ti compilava si la grid ma nn ti faceva il filtro e pescava tutto, per farlo devi aggiungere un parametro nella where e diventa così:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:CASSAWEBConnectionString %>"
SelectCommand="SELECT [DIT_CODICE], [DIT_RAGSOC], [DIT_TITOLARE], [DIT_STUDIO], [DIT_ATTIVITA], [DIT_SOSPENSIONE], [DIT_BNI] FROM [WEB_IMPR] WHERE DIT_codcons=@LINKFIELD">
<SelectParameters>
<asp:SessionParameter DefaultValue="%" Name="LINKFIELD" SessionField="LINKFIELD" />
</SelectParameters>
</asp:SqlDataSource>
oppure da progetto se clicchi sul sqldatasource quando configuri l'origine dati, passi la schermata della connessione, e nella select (se la scrivi a mano) scrivi nelle where DIT_codcons=@LINKFIELD (dove @Linkfield è il nome del parametro da sostituire con il valore) vai avanti e nella tab definisci parametri dobbiamo dirgli che lo prendiamo dalla session; quindi origine parametro nella combo metti session e session field: nomeparametro quindi LINKFIELD e defaultvalue metto % se è un testo o 0 o quello che vuoi di default.
Se invece la select la crei dalla "guidata" devi aggiungere il parametro e poi è uguale a sopra...
spero di essere stato comprensbile anch'io nn è che lo uso tantissimo...
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 23 feb 2010 - 13:33
ok funziona !!!!! grazie, Maurizio
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 !