2012-07-11 53 views
1

有沒有辦法在ASP changepassword控件中自定義文本框?asp changepassword控件定製

<asp:ChangePassword id="myChangePassword" newpasswordregularexpressionerrormessage="Error: Your password must be at least 5 characters long, and contain at least one number and one special character." 
runat="server" OnChangingPassword="ChangingPassword" 
OnChangedPassword="ChangedPassword" OnCancelButtonClick="CancelClick"></asp:ChangePassword> 

例如,我想頂部字段說當前密碼,而不是隻是密碼,這可能嗎?

謝謝!

回答

3
<asp:ChangePassword ID="ChangePassword1" runat="server" 
    PasswordLabelText="Current Password:"> 
</asp:ChangePassword> 

這是你想要的嗎?

+1

是的,這工作!謝謝 – 2012-07-11 20:12:21

2

Here是定製asp.net控件的好教程。

8

是的,這是可能的。與許多asp.net控件一樣,控件內部有一個標籤,允許您自定義字段。

看看這個:

<asp:ChangePassword ID="ChangePassword1" runat="server" 
     ContinueDestinationPageUrl="~/Users/UserProfile.aspx" style="margin-right: 2px" 
     Width="450px"> 
     <ChangePasswordTemplate> 
      <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;"> 
       <tr> 
        <td> 
         <table cellpadding="0"> 
          <tr> 
           <td align="center" colspan="2"> 
            Change Your Password</td> 
          </tr> 
          <tr> 
           <td align="left"> 
            <asp:Label ID="CurrentPasswordLabel" runat="server" 
             AssociatedControlID="CurrentPassword">Password</asp:Label> 
           </td> 
           <td style="width: 166px"> 
            <asp:TextBox ID="CurrentPassword" runat="server" TextMode="Password"></asp:TextBox> 
            <asp:RequiredFieldValidator ID="CurrentPasswordRequired" runat="server" 
             ControlToValidate="CurrentPassword" ErrorMessage="Password is required." 
             ToolTip="Password is required." ValidationGroup="ChangePassword1">*</asp:RequiredFieldValidator> 
           </td> 
          </tr> 
          <tr> 
           <td align="left"> 
            <asp:Label ID="NewPasswordLabel" runat="server" 
             AssociatedControlID="NewPassword">New Password</asp:Label> 
           </td> 
           <td style="width: 166px"> 
            <asp:TextBox ID="NewPassword" runat="server" TextMode="Password"></asp:TextBox> 
            <asp:RequiredFieldValidator ID="NewPasswordRequired" runat="server" 
             ControlToValidate="NewPassword" ErrorMessage="New Password is required." 
             ToolTip="New Password is required." ValidationGroup="ChangePassword1">*</asp:RequiredFieldValidator> 
           </td> 
          </tr> 
          <tr> 
           <td align="left"> 
            <asp:Label ID="ConfirmNewPasswordLabel" runat="server" 
             AssociatedControlID="ConfirmNewPassword">Confirm New Password</asp:Label> 
           </td> 
           <td style="width: 166px"> 
            <asp:TextBox ID="ConfirmNewPassword" runat="server" TextMode="Password"></asp:TextBox> 
            <asp:RequiredFieldValidator ID="ConfirmNewPasswordRequired" runat="server" 
             ControlToValidate="ConfirmNewPassword" 
             ErrorMessage="Confirm New Password is required." 
             ToolTip="Confirm New Password is required." ValidationGroup="ChangePassword1">*</asp:RequiredFieldValidator> 
           </td> 
          </tr> 
          <tr> 
           <td align="center" colspan="2"> 
            <asp:CompareValidator ID="NewPasswordCompare" runat="server" 
             ControlToCompare="NewPassword" ControlToValidate="ConfirmNewPassword" 
             Display="Dynamic" 
             ErrorMessage="The Confirm New Password must match the New Password entry." 
             ValidationGroup="ChangePassword1"></asp:CompareValidator> 
           </td> 
          </tr> 
          <tr> 
           <td align="center" colspan="2" style="color:Red;"> 
            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal> 
           </td> 
          </tr> 
          <tr> 
           <td align="right"> 
            <asp:Button ID="ChangePasswordPushButton" runat="server" 
             CommandName="ChangePassword" Text="Change Password" 
             ValidationGroup="ChangePassword1" /> 
           </td> 
           <td style="width: 166px"> 
            <asp:Button ID="CancelPushButton" runat="server" CausesValidation="False" 
             CommandName="Cancel" Text="Cancel" /> 
           </td> 
          </tr> 
         </table> 
        </td> 
       </tr> 
      </table> 
     </ChangePasswordTemplate> 
    </asp:ChangePassword> 

歸根結底,它只是保持必要的文本框的表。我忘了我在哪裏找到這段代碼,但它可能是另一個StackOverflow帖子。

此外,請閱讀http://msdn.microsoft.com/en-us/library/ms178339.aspx。它有更多關於這些模板標籤如何工作的信息。

+0

這絕對完美,謝謝! – Alex 2014-08-22 10:59:29

+0

優秀的解決方案。感謝分享如何自定義表單。 – Pegues 2016-04-05 12:23:26

0

.aspx的代碼

<div align="center"> 


<asp:ChangePassword ID="ChangePassword1" runat="server" BackColor="#F7F7DE" 
       BorderColor="#CCCC99" BorderStyle="Solid" BorderWidth="1px" 
       Font-Names="Verdana" Font-Size="10pt" 
       onchangedpassword="ChangePassword1_ChangedPassword"> 
    <TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" /> 
</asp:ChangePassword> 


     </div> 

cs文件代碼

public partial class admin_Changepwd : System.Web.UI.Page 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString); 
    SqlCommand cmd; 
    SqlDataReader dr; 

protected void Page_Load(object sender, EventArgs e) 
{ 

} 

protected void ChangePassword1_ChangedPassword(object sender, EventArgs e) 
{ 
    cmd = new SqlCommand("update Admin set Password ='" + ChangePassword1.ConfirmNewPassword + "' where userid = '" + Session["userid"] + "' and Password ='" + ChangePassword1.CurrentPassword + "'", con); 
    cmd.Connection.Open(); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 

} 
}