2011-07-01 31 views
0

我有一個webform gridview。在那一列是密碼。我想讓用戶更改密碼。有幾個問題。

在編輯模板中,我提到了密碼列TextMode作爲密碼。所以當我點擊編輯按鈕時它顯示空白。

所以,當我點擊編輯模式時,密碼欄應該顯示密碼掩碼字符'*',如果用戶更改密碼,它應該在數據庫中更新。

我正在使用SHA1加密的密碼,所以我認爲我可以從數據庫中檢索密碼值並將其保留在首頁上不會有任何安全問題。在編輯模式的gridview中的密碼列中顯示密碼char * *

回答

0

最後我找到了jQuery的這個問題的解決方案。
對某人有用。

 <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

文本框內EditItemTemplate.Then嘗試值屬性添加到文本框像下面。

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

希望這項工作!!!!