Ngôn ngữ ASP.NET - ChangePassword

Đối tượng điều khiển ChangePassword 

Điều khiển ChangePassword  dùng để người sử dụng thay đổi mật khẩu. Người sử dụng nhập khẩu hiện tại và nhập mật khẩu mới. Nếu mật khẩu hiện tại không đúng, thì mật khẩu mới không được cập nhật.

Điều khiển ChangePassword hoạt động với người sử dụng đã đăng nhập và cả người sử dụng chưa đăng nhập. Nếu người sử dụng chưa đăng nhập, điều khiển sẽ nhắc người sử dụng nhập tên đăng nhập. Nếu người sử dụng đã đăng nhập, điều khiển điền tên người sử dụng vào ô username.

Điều khiển ChangePassword bao gồm hai mẫu ở chế độ xem (views) được hiển thị cho người sử dụng. Mẫu đầu tiên là ChangePasswordTemplate, hiển thị giao diện người sử dụng được sử dụng để thu thập dữ liệu cần thiết để thay đổi mật khẩu người sử dụng . Mẫu thứ hai là SuccessTemplate, định nghĩa giao diện người sử dụng được hiển thị sau khi mật khẩu người dùng đã được thay đổi thành công.

Điều khiển ChangePasswordchỉ thay đổi lại mật khẩu thông qua dịch vụ Membership.

Một số thuộc tính thường sử dụng:

Thuộc tính Ý nghĩa
CancelDestinationPageUrl Thuộc tính này sẽ xác định người dùng sẽ chuyển đến đâu khi họ nhập đúng UserName và Password.
CurrentPassword Mật khẩu hiện tại của người sử dụng
DisplayUserName Thuộc tính này nếu set là true sẽ hiển thi username ra textbox 
NewPassword Mật khẩu mới của người sử dụng nhập vào
UserName Hiển thị tên đang nhập của người sử dụng

Các phương thức thường sử dụng:

Phương thức Ý nghĩa
ChangedPassword Sự kiện này xảy ra khi mật khẩu đã thay đổi
ChangePasswordError Sự kiện này xảy ra khi mật khẩu đang thay đổi bị lỗi
SendMailError Sự kiện này xảy ra khi gởi mail bị lỗi

Ví dụ : Tạo trang web ChangePassword.apsx, có điều khiển ChangePassword:

Bước 1:  Kéo thả điều khiển ChangePassword từ ToolBox vào giao diện thiết kế

Bước 2: Định dạng giao diện chọn Auto Format --> Chọn scheme --> Chọn Ok

Bước 3: Nhập lại nội dung chọn Convert To Template

  • Chọn View là Change Password
  • Chọn view là Success

Code trang ChangePassword.aspx:
 

<asp:ChangePassword ID="ChangePassword1" runat="server" BackColor="#F7F6F3" BorderColor="#E6E2D8" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" UserName="thang">
            <CancelButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />
            <ChangePasswordButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />
            <ContinueButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />
            <InstructionTextStyle Font-Italic="True" ForeColor="Black" />
            <PasswordHintStyle Font-Italic="True" ForeColor="#888888" />
            <SuccessTemplate>
                <table cellpadding="4" cellspacing="0" style="border-collapse:collapse;">
                    <tr>
                        <td>
                            <table cellpadding="0">
                                <tr>
                                    <td align="center" colspan="2" style="color:White;background-color:#5D7B9D;font-size:0.9em;font-weight:bold;">Thay đổi mật khẩu </td>
                                </tr>
                                <tr>
                                    <td>Mật khẩu của bạn đã thay đổi!</td>
                                </tr>
                                <tr>
                                    <td align="right" colspan="2">
                                        <asp:Button ID="ContinuePushButton" runat="server" BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" CausesValidation="False" CommandName="Continue" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" Text="Continue" />
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </SuccessTemplate>
            <TextBoxStyle Font-Size="0.8em" />
            <TitleTextStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
        </asp:ChangePassword>

Thực thi trang web cho kết quả:

Nếu nhập mật khẩu thay đổi sẽ thông báo lỗi:

Chúng ta có thể khai báo lại thông báo lỗi trong properties window: