2012-10-12 5 views
1

내 웹 사이트 (edituser.aspx)에 사용자 편집 페이지가 있습니다. 사용자 이름과 암호는 Access 데이터베이스에 저장되며 FormView 내에 표시됩니다. 같은 :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 /> 
    ... . 

나는 데이터베이스의 비밀번호를 암호화하지만 난 그것을 위해 해독 기능을 가지고 있지만 하지만 난 바인딩 구문 내부에 그것을 사용하는 방법을 모르겠어요. 예를 들어 내가 시도

<%# 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 

답변

1

대신 바인딩의 평가를 시도해보십시오

<%# Decrypt(Eval("passwordID")) %> 
+0

내가 바인딩에서 전환하는 경우 Eval. 오류가 발생할 것입니다 : 하나 이상의 필수 매개 변수에 값이 지정되지 않았습니다. –

관련 문제