"zanna77" <zanna77> ha scritto nel messaggio news:395228@...
una prima soluzione semplice è chiamare la pagina dà un bottone e mettere Server.Transfer("Scarti.aspx") non appare scarti ma appare la pagina chiamante, altrimenti in rete ci sono esempi anche su asp italia basta cercare rewrite url ma devi lavorare sull web config
Io faccio così:
Pagina chiamante:
Protected Sub btPulsanteLink_Click(sender As Object, e As EventArgs) Handles btPulsanteLink.Click
Dim QS As New CQS
QS.Add("ID", 0)
QS.Add("CF", 'ABCDEF12D21l219M')
Response.Redirect("/Pagina.aspx" & QS.MakeCryptedQueryString, False) QS = Nothing
End Sub
Pagina che apri:
Dim QS As New CQS(Request.QueryString("Key"))
If QS.GetValue("ID") Is Nothing Then
Response.Redirect("/HomePage.aspx", False)
Exit Sub
Else
ViewState.Add("ID", QS.GetValue("ID"))
ViewState.Add("CF", QS.GetValue("CF"))
End If
QS = Nothing
.....
e questa è la classe che fa uso di un qualsiasi algoritmo di crypt/dencryp che puoi trovare facilmente sul web
<Serializable()>
Public Class CQS
Dim QueryString As New List(Of QS)
Public Sub New(Key As String)
Try
Dim QueryStringOriginale =
Simple3Des.DecryptData(Key.Replace(" ", "+"))
Dim PV = QueryStringOriginale.Split("&")
For Each e In PV
Dim Dati = e.Split("=")
QueryString.Add(New QS With {.Parameter = Dati(0), ..Value = Dati(1)})
Next
Catch ex As Exception
End Try
End Sub
Public Function GetEncryptQueryString(QueryStringOriginale As String) As String
Try
Return "?Key=" &
Simple3Des.EncryptData(QueryStringOriginale)
Catch ex As Exception
Return String.Empty
End Try
End Function
Public Sub Add(ParameterName As String, Value As String) QueryString.Add(New QS With {.Parameter = ParameterName, .Value = Value})
End Sub
ReadOnly Property MakeCryptedQueryString
Get
Dim QueryStringOriginale As String = String.Empty For Each s In QueryString
QueryStringOriginale += "&" & s.Parameter & "=" & s.Value
Next
QueryStringOriginale = QueryStringOriginale.Substring(1) Return "?Key=" &
Simple3Des.EncryptData(QueryStringOriginale)
End Get
End Property
Public Function getCryptedQueryString(Key As String, Value As Object) As String
Me.Add(Key, Value)
Return Me.MakeCryptedQueryString
End Function
Public Function GetValue(ParameterName As String) As Object Dim e = QueryString.Find(Function(r) r.Parameter = ParameterName)
If e IsNot Nothing Then
Return e.Value
Else
Return Nothing
End If
e = Nothing
End Function
<Serializable()>
Public Class QS
Property Parameter As String
Property Value As Object
End Class
End Class
Spero ti sia utile