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
Problema con il passaggio di un link
domenica 25 ottobre 2009 - 09.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
dom 25 ott 2009 - 09:36
Ciao,
ho problemi con la creazione di un link....
in passato ho gia usato un metodo simile ma senza problemi con il nuovo progetto che ho realizato ..
dentro la varabile ho il valore = 100 (comunque sarà un valore numerico.) a cui unisco un valore stringa
il risultato è questo : '100jhhjdjdjdjdkdkldijcjn'
il codice usato:
valueString = "home.aspx?Utente=" + valueString + "hfjdhjdjhd"
Response.Redirect(valueString, True)
Ricevo questo errore : 'Property evaluation failed.'
Stesso modo di costruire la stringa lo uso in un treeView ed anche in questo caso non mi lascia usare il link così.....
potete aiutarmi perchè non so proprio che altro fare.
elena
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
lun 26 ott 2009 - 18:27
dove ti da errore nella Redirect?
così a vista credo che il problema sia nella pagina che chiami..ma senza vedere una riga di codice mi viene difficile capire
oppure prova a verificare la lunghezza degli argomenti..se non erro non puoi passare stringhe che superino un tot byte (che al momento non ricordo) tramite url
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 26 ott 2009 - 21:16
ti posto il codice della pagina:
Adesso è un pò incasinato perchè ho fatto un sacco di prove per capire dove era il problema....... ma senza risultato :-( :-(
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim user As String = utente.Text
Dim pswd As String = pw.Text
Dim da As New SqlClient.SqlDataAdapter
Dim ds As New DataSet
Try
Dim testCMD As SqlClient.SqlCommand = New SqlClient.SqlCommand("Ro", objdb)
testCMD.CommandType = CommandType.StoredProcedure
Dim pRiferimentoLingua As SqlClient.SqlParameter = testCMD.Parameters.Add("@Password", SqlDbType.NVarChar, 10)
pRiferimentoLingua.Direction = ParameterDirection.Input
pRiferimentoLingua.Value = pswd
Dim pRiferimentoPagina As SqlClient.SqlParameter = testCMD.Parameters.Add("@CodiceCliente", SqlDbType.NVarChar, 100)
pRiferimentoPagina.Direction = ParameterDirection.Input
pRiferimentoPagina.Value = user
Dim RetValue As SqlClient.SqlParameter = testCMD.Parameters.Add("RetValue", SqlDbType.Int)
RetValue.Direction = ParameterDirection.ReturnValue
Dim Ris As Integer = testCMD.ExecuteScalar
Dim valueString As String
valueString = RetValue.Value
Dim Cod As String
Cod = RetValue.Value
Dim da1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter("select id from ac where id ='" + Cod + "'", objdb)
Dim ds1 As DataSet = New DataSet()
da1.Fill(ds1, "account")
Dim row As DataRow() = ds1.Tables("account").Select
If row.Length > 0 Then
If Not IsDBNull(row(0)(Trim("id"))) Then
valueString = row(0)(Trim("id"))
End If
End If
valueString = "home.aspx?Utente=" + valueString + "hfjdhjdjhd"
If RetValue.Value = 1 Then
Exit Sub
Else
Response.Redirect(valueString, True)
End If
Catch ex As Exception
Response.Redirect("error.aspx")
End Try
End Sub
Mi entra dentro il catch subito dopo il response.redirect .......... con l'errore che ho postato (non mi dà nessun altra indicazione quindi non riesco a capire perchè.
Uso un link simile in un altro sito con molte più variabili passate in quella maniera tra le pagine..... e funzionano
Mentre questo nuovo progetto non ne vuole sapere ..........................
La pagina di destinazione funziona perchè se scrivo a mano il link la pagina di destinazione riceve le variabili in modo corretto
Pinky
Profilo
| Junior Member
77
messaggi | Data Invio:
lun 26 ott 2009 - 23:23
Perchè non prendi il valore di valueString e lo testi su un browser?
ciao
Alessandro
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
mar 27 ott 2009 - 09:18
se inserisco questo:
home.aspx?Utente=100hfjdhjdjhd
che è il valore di ValueString mi si apre la pagina di destinazione correttamente..........
lo stesso errore me lo dà anche sul link di menu...... che ha lo stesso concetto di passaggio variabili.....
Però tutte le pagine inserendo la variabile da browser non mi danno errore è quando cerco di passarle attraverso il progetto che si incantano.
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mar 27 ott 2009 - 09:53
sembra corretto... prova a passare forzatamente al redirect l'indirizzo "http://tuodominio/home.aspxUtente=100hkhkjkjhjl"
potrebbe essere che non trova la pagina nel dominio..
una domanda... la stringa sul browser come l'hai provata? scritta a manina?..se è così prova a farti una variabile tipo
Dim strUrl as string = "Home.aspx?Utente=" + valueString + "jhjhjhjhjh"
Response.Redirect(strUrl, true)
..metti un punto di debug sul redirect copiati il valore di strUrl e provalo direttamente sul browser.
a parer mio ho ha qualche carattere strano negli argomenti (tipo nel valueString oppure nella restante parte di caratteri) oppure qualche errore all'inizio della pagina chiamata
Vincenzo
Programmatore sbilenco
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
gio 29 ott 2009 - 08:23
ciao
penso di aver provato tutto quello che mi hai scritto ma non va niente..........
non riesco proprio a capire dove sia il problema perchè non mi è mai capitato un errorre del genere in vita mia:
prima ho scritto questo:
Dim Cod As String
Cod = RetValue.Value
Dim da1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter("select id from account where id ='" + Cod + "'", objdb)
Dim ds1 As DataSet = New DataSet()
da1.Fill(ds1, "account")
Dim row As DataRow() = ds1.Tables("account").Select
If row.Length > 0 Then
If Not IsDBNull(row(0)(Trim("id"))) Then
valueString = row(0)(Trim("id"))
End If
End If
perchè pensavo che non riuscisse a prendersi la variabile return dalla stor procedure.................
poi ho stritto :
valueString = "home.aspx?Utente=" + valueString + "hfjdhjdjhd"
provato anche a copiarlo a mano , il link che esce da questa stringa è :
http://localhost:54067/home.aspx?Utente=100hfjdhjdjhd
coppiandolo a mano funziona tranquillamente.......... poi sull'altra pagina ho lo stesso errore per un antro link che usa la stessa sintassi (ma questo non conta) la pagina si apre per intero....
l'errore viene fuori sempre sullo stesso punto ..................
sul Response.Redirect
sempre uguale qualsiasi cosa scrivo
'Property evaluation failed.
che non riesco a capire cosa sia...........
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 29 ott 2009 - 10:20
forse abbiamo trovato la soluzione
qui
http://support.microsoft.com/kb/312629/EN-US/
dice di scrivere la Redirec in questo modo:
Response.Redirect(valueString, False)
fammi sapere se funziona.
ciao
Vincenzo
Programmatore sbilenco
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
gio 29 ott 2009 - 20:55
ha funzionato ..................
in effetti bastava modificare quel valore e il link è passato correttamente...........
addesso provo le altre pagine....... :-) :-)
grazie mille
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 !