'Page1.aspx
Protected Sub butEncrypt_Click(sender As Object, e As EventArgs) Handles butEncrypt.Click
Dim QueryString As String = "type=Int&pk=" & _primaryKey
QueryString = Tools.encryptQueryString(QueryString)
Response.Redirect(/SearchResults.aspx?Val=" & QueryString)
End Sub
そして最後に非暗号化:
'SearchResults.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Not IsPostBack) Then
If Not String.IsNullOrEmpty(HttpContext.Current.Request(CIAppGlobals.GlobalVar.Val)) Then
Dim qs As String = Request.QueryString(CIAppGlobals.GlobalVar.Val)
qs = Tools.decryptQueryString(qs)
Dim Values As String() = qs.Split(CChar("&"))
_imageType = String.Empty
_primaryKey = 0
For Each value As String In Values
Dim data As String() = value.Split(CChar("="))
Select Case data(0).ToUpper
Case "TYPE"
_imageType = data(1)
Case "PK"
_primaryKey = CInt(data(1))
End Select
Next
Else
_imageType = HttpContext.Current.Request("type")
_primaryKey = CInt(HttpContext.Current.Request("pk"))
End If
End If
End Sub
私の質問を私がやっていること以外のデコードされたクエリ文字列の値を抽出するために別の方法を使用しているのですか?あなたの建設的な対応に感謝します。私はまだ私がないようにしたいので、クエリ文字列を暗号化する
'Page1.aspx
Protected Sub butEncrypt_Click(sender As Object, e As EventArgs) Handles butEncrypt.Click
Dim query = HttpUtility.ParseQueryString(String.Empty)
query("type") = "Int"
query("pk") = CStr(_primaryKey)
Dim QueryString As String = Tools.encryptQueryString(query.ToString())
Response.Redirect(/SearchResults.aspx?Val=" & QueryString)
End Sub
:
ソリューションは
ダーリンの応答を見た後、私は自分のプロジェクトに組み込むことにしました、ここに私の更新されたコードですユーザーがクエリ文字列値を手動で変更しないようにする
お返事ありがとうございます。 Toolsクラスには、OP(http://stackoverflow.com/a/1330421/100283)で参照されているリンクで見つかった2つのメソッドが含まれています。私はデータベースに値を保存したいと思いますが、私はそれに新しい変更を加えることはできませんので、従来のデータベースで作業しています。 –
[OK]を意味しますが、Typeは5つの異なる値(Int、Sbj、Veh、Grp、およびBus)のうちの1つであり、_primaryKeyは整数値です。だからどちらの値にも&とか=の文字が含まれることはありません。私はそれが傷つけないようにあなたの解決策に追加します。 –