Request.QueryString ... questo sconosciuto!!

giovedì 17 dicembre 2009 - 10.44

alexmed Profilo | Guru

Ciao a tutti

Da una pagina aspx richiamo una seconda pagina al quale passo un valore che mi legge dei dati su un db access e tutto va a buon fine.
Adesso, dal momento che il parametro che passo mi serve per aggiungere dei dati al db, mi servirebbe recuperare questo parametro.
Sto cercando di recuperarlo appunto con "Request.QueryString("ID")" ma non mi capacito del fatto che questo valore sparisca nel nulla.

Una delle strade che ho seguito, ma infruttuosamente, è stato quello di scrivere il paramentro su una label

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Me.Label1.Text = "ID: " & Request.QueryString("ID") & " value"

End Sub

Il parametro viene correttamente visualizzato sulla Label ma se poi inserisco un Button nel quale vado a mettere questo codice:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

MsgBox(Me.Label1.Text)

End Sub

Mi viene fuori la MsgBox con scritto "ID value"



Help!!!!

alexmed

FrancescoGuadagno Profilo | Senior Member

Ma nella pagina in cui tu invii i dati mediante querystring, il dato appare nella barra degli indirizzi?

alexmed Profilo | Guru

Si!
Lo vedo.
Lo vedo anche se metto nel Load della pagina chiamata MsgBox(Request.QueryString("ID"))
Ma poi alla pressione del button, quello che dovrebbe lanciarmi la query di insert, se metto lo stesso codice di sopra, non mi restituisce nessun valore, come se ci fosse qualcosa nell'evento Click del button che cancella il valore, ma in realtà c'è solo la richiesta della MessageBox.

Cosa ne pensi?

alexmed

FrancescoGuadagno Profilo | Senior Member

Quindi riesci ad accedere al querystring nella load ma non nel click del button?
puoi allegare un pò di codice?

alexmed Profilo | Guru

Dunque
Questo è il codice con cui chiamo la pagina

<p class="links"><a href='Comments.aspx?ID=<%# Eval("ID") %>' >

Questa è l'URL della pagina che chiamo

http://localhost:4271/SS%20HTML%2000/Comments.aspx?ID=1

E comunque funziona

Una volta aperta la pagina se da un Button qualunque chiedo il valore della QueryString

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

MsgBox("ID: " & Request.QueryString("ID"))

End Sub

Mi dice

"ID:"

Non c'è codice strano o impostazioni particolari.
Non capisco!!!

Grazie

alexmed

FrancescoGuadagno Profilo | Senior Member

Guarda, il codice che hai inserito non contiene niente di particolare. Non sembra ci sia niente di sbagliato. Probabilmente è qualcos'altro che crea il problema, per quello ti dicevo di allegare l'intero codice della pagina. Un altro dettaglio... dopo che hai premuto il pulsante nella barra degli indirizzi c'è ancora il tuo querystring?

alexmed Profilo | Guru

>Guarda, il codice che hai inserito non contiene niente di particolare.
Appunto!
>Non sembra ci sia niente di sbagliato. Probabilmente è qualcos'altro
>che crea il problema, per quello ti dicevo di allegare l'intero
>codice della pagina. Un altro dettaglio... dopo che hai premuto
>il pulsante nella barra degli indirizzi c'è ancora il tuo querystring?

Dapprima avevo inserito come PostBackUrl del button la pagina stessa per ricaricare il db ma accortomi che in effetti a quel punto avrei perso il riferimento all'ID l'ho tolto. Anzi per toglirmi ogni dubbio ho inserito un secondo button ma con gli stessi risultati. Tra l'altro adesso ho sempre il refresh della pagina con conseguente ricaricamento del db ma questa volta con il valore di default ossia 0 (zero) quindi non mi carica niente.
Dopo aver ricaricato la pagina mi viene fuori questo Url:

http://localhost:4271/SS%20HTML%2000/Comments.aspx?__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTEyMTU1NTYxMzMPZBYCZg9kFgICAw9kFgICAQ9kFgQCAQ88KwAJAQAPFgQeCERhdGFLZXlzFgAeC18hSXRlbUNvdW50AgRkFghmD2QWBmYPFQEKYWxlc3NhbmRyb2QCAQ8PFgIeBFRleHQFIW1hcnRlZMOsIDE1IGRpY2VtYnJlIDIwMDkgMC4wMC4wMGRkAgMPDxYCHwIFC0NvbXBsaW1lbnRpZGQCAQ9kFgZmDxUBCHZpdHRvcmlvZAIBDw8WAh8CBSFtYXJ0ZWTDrCAxNSBkaWNlbWJyZSAyMDA5IDAuMDAuMDBkZAIDDw8WAh8CBQ9WaXZpc3NpbWkgZGlyZWlkZAICD2QWBmYPFQEIcmljY2FyZG9kAgEPDxYCHwIFIW1hcnRlZMOsIDE1IGRpY2VtYnJlIDIwMDkgMC4wMC4wMGRkAgMPDxYCHwIFEU1pIHVuaXNjbyBhbCBjb3JvZGQCAw9kFgZmDxUBB2FsZXhtZWRkAgEPDxYCHwIFI21lcmNvbGVkw6wgMTYgZGljZW1icmUgMjAwOSAwLjAwLjAwZGQCAw8PFgIfAgUEQ2lhb2RkAg0PD2QPEBYBZhYBFgIeDlBhcmFtZXRlclZhbHVlBQExFgECBGRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBStjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRSZW1lbWJlck1lBTFjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRMb2dpbkltYWdlQnV0dG9uAnxXMnSZsjXYPwq5Plbo73jwk%2FI%3D&__EVENTVALIDATION=%2FwEWCAKpk6cEAsKkwpsBAviQ3vICAoDiyWMCv9WE8w0C7vCP9A4Cofu1ewLM97qYBVamdP3o8%2F4oqv2jj2lPS0id2KvI&ctl00%24ContentPlaceHolder1%24NameTextBox=&ctl00%24ContentPlaceHolder1%24CommentTextBox=&ctl00%24ContentPlaceHolder1%24Button1=Inserisci&ctl00%24ContentPlaceHolder1%24Login1%24UserName=&ctl00%24ContentPlaceHolder1%24Login1%24Password=

Carino, vero?


alexmed

alexmed Profilo | Guru

Ciao
Alla fine ho ricostruito il sito e adeso (incrociamo le dita) funziona.
Probabilmente c'era qualche impostazione nella pagina master che dava fastidio e mi faceva questo scherzo.

Grazie mille comunque per l'aiuto.

Ciao

alexmed
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5