1

Web サイト (edituser.aspx) 内にユーザー編集ページがあります。ユーザー名とパスワードは Access データベースに配置され、FormView 内に表示されます。このような:

<asp:FormView 
ID="EditForm" 
runat="server" 
DefaultMode="Edit">
    <EditItemTemplate>
        <strong>username:</strong><br />
        <asp:TextBox ID="usernameIDTextBox" runat="server" Text='<%# Bind("usernameID") %>' /><br />

        <strong>Password:</strong><br />
        <asp:TextBox ID="passwordIDTextBox" TextMode="password" runat="server" Text='<%# Bind("passwordID") %>' /><br />
    ... .

データベースでパスワードを暗号化しましたが、復号化機能はありますが、Bind フレーズ内での使用方法がわかりません。たとえば、私が試した

 <%# decrypt(Bind("passwordID")) %>

そしてこれはうまくいきませんでした。

注:私はasp.net 3.5を使用しています。これは、edituser.aspx.vb内で復号化するための私の関数です:

Public Function Decrypt(ByVal strDecoded_Pword As String) As String
        On Error Resume Next
        Dim i, ct As Integer
        Dim letter, dec, StrValappend, strVal As String
        dec = ""
        strDecoded_Pword = StrReverse(strDecoded_Pword)

        For ct = 1 To Len(strDecoded_Pword) Step 2
            StrValappend = Chr(Val("&H" & (Mid(strDecoded_Pword, ct, 2))))
            strVal = strVal & StrValappend
        Next
        strDecoded_Pword = strVal

        For i = 1 To Len(strDecoded_Pword)
            letter = Mid(strDecoded_Pword, i, 1)
            dec = dec & Chr(Asc(letter) - i - 5)
        Next
        Decrypt = dec
    End Function
4

1 に答える 1

2

Bind の代わりに Eval を試してください:

<%# Decrypt(Eval("passwordID")) %>
于 2012-10-12T21:48:06.767 に答える