2011-07-01 29 views
0

私はwebform gridviewを持っています。その1つの列はパスワードです。私は、ユーザーがパスワードを変更できるようにしたい。問題はほとんどありません。

編集テンプレートでは、パスワード列TextModeをパスワードとして説明しました。編集ボタンをクリックすると空白になります。

編集モードをクリックすると、パスワードの列にパスワードのマスク文字「*」が表示され、ユーザーがパスワードを変更した場合はデータベース上で更新する必要があります。

パスワードにSHA1暗号化を使用しているので、パスワードの値をデータベースから取得して、フロントページに保持することはセキュリティ上の問題ではないと思います。編集モードでgridviewのパスワード欄にパスワードchar *を表示

答えて

0

最後に、この問題の解決策をjQueryで見つけました。
誰かに便利なことがあります。 EditItemTemplate.Then内部

 <asp:TemplateField HeaderText="Password"> 
      <EditItemTemplate> 
       <asp:TextBox ID="txtPassword" runat="server" Width="98%" 
        TextMode="Password" MaxLength="50" Text='<%# Bind("UserPassword") %>' CssClass="blankPassword"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="rfvPassword" runat="server" ErrorMessage="Required" 
        Display="Dynamic" ControlToValidate="txtPassword" ValidationGroup="Saving" CssClass="RequiredValidationMessage"></asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lblPassword" runat="server" Text='*****'></asp:Label> 
      </ItemTemplate> 
      <FooterTemplate> 
        <asp:TextBox ID="txtNewPassword" runat="server" Text='<%# Bind("UserPassword") %>' Width="95%" 
         TextMode="Password" MaxLength="50"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="rfvNewPassword" runat="server" ErrorMessage="Required" 
         Display="Dynamic" ControlToValidate="txtNewPassword" ValidationGroup="Adding" CssClass="RequiredValidationMessage"></asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemStyle Width="30%" /> 
     </asp:TemplateField>  


<script type="text/javascript" language="javascript" charset="utf-8"> 
     $(document).ready(function() { 

      $(function() { 
       $("input[id$='txtPassword']").live("click", function() { 
       $tb = $(this); 
        $("#PasswordEdited").val("true"); 
        $tb.val("");       
       }) 
      }); 
      $(function() { 
       $(".blankPassword").each(function() { 
        $tb = $(this); 
        $tb.val('*****'); 
        $tb.removeClass("blankPassword"); 
       }) 
      }); 
     }); 
</script> 
0

のTextBoxは、以下のようにテキストボックスに値属性を追加してみてください。

<asp:TextBox ID="txtNewPassword" runat="server" Text='<%# Bind("UserPassword") %>' Value='<%# Bind("UserPassword") %>' Width="95%" TextMode="Password" MaxLength="50"></asp:TextBox> 

希望はこの仕事!!!!

関連する問題