Personalizando a Aparência dos Controles de Login do ASP.NET
You can customize the contents of several ASP.NET login controls by specifying control templates and adding your own controls to the user interface (UI) of the control, or by replacing or removing optional controls not required for the UI of the control.
You can also use the style properties of login controls as well as themes and skins to tailor the appearance of the control.For more information, refer to the members of the specific control and Visão Geral de Temas e Aparências ASP.NET.
Customizable Login Controls
You can customize the content of any login control where the existing control UI can be replaced using a template.This includes the Login, PasswordRecovery, CreateUserWizard, and ChangePassword controls.The following table lists the templates that are available to customize with each control.
Login
Use the LayoutTemplate template to specify different controls to retrieve a user name and password for logging in.PasswordRecovery
Use the UserNameTemplate template to specify different controls to retrieve the user name for which to recover the password.Use the QuestionTemplate template to specify different controls to retrieve the password question if the RequiresQuestionAndAnswer property is true.
Use the SuccessTemplate template to specify different controls that appear when a user's password has been successfully recovered.
CreateUserWizard
Use the ContentTemplate template of the CreateUserStep step to specify different controls to retrieve the user name, password, and other information required to create a new user account.Use the ContentTemplate template of the CompleteStep step to specify different controls that appear when the create user operation is complete.
ChangePassword
Use the ChangePasswordTemplate template to specify different controls to retrieve the user name, current password, and new password for the user that is changing his or her password.Use the SuccessTemplate template to specify different controls that appear when a user's password has been successfully changed.
Specifying Controls in Login Control Templates
You can include additional controls and command buttons in login control templates as well as replace the default controls and command buttons with your own.
Replacing Command Buttons in a Login Control Template
You can use any control as a command button in a login control template.However, for the login control to recognize the command, the command control must bubble up an event that includes event arguments that inherit from the CommandEventArgs class.The command button must specify a value for the CommandName property of the CommandEventArgs class that identifies which command is to be executed by the login control.The following table lists the valid values for the CommandName property and their related login control templates.
Login.LayoutTemplate
Login - Validates the user credentials and logs the user in.PasswordRecovery.UserNameTemplate
Submit - Retrieves the user name to recover the password for and continues the login process.PasswordRecovery.QuestionTemplate
Submit - Retrieves the password answer for the user and recovers the user's password.CreateUserWizard.CreateUserStep, CustomNavigationTemplate
CreateUser - Retrieves the user-supplied values and creates the new user account.Cancel - Terminates the create user operation.
CreateUserWizard.CompleteStep, ContentTemplate
Continue - Navigates the user to the ContinueDestinationPageUrl page.ChangePassword.ChangePasswordTemplate
ChangePassword - Retrieves the user-supplied values and changes the password.Cancel - Terminates the change password operation.
ChangePassword.SuccessTemplate
Continue - Navigates the user to the ContinueDestinationPageUrl page.
Replacing Controls in a Login Control Template
You can replace the input and display controls used by several ASP.NET login controls in their respective templates.Each template has controls that must be included in the template as well as optional controls.Required and optional controls are identified using the ID property of the control.If a template does not include a control where the ID property is set to a required control identifier, or if that control does not implement the appropriate interface, the ASP.NET login control will throw an exception.
The following table lists the templates and the required controls by their ID properties.
Login.LayoutTemplate
UserName -O nome da conta do usuário estar conectado. This control is required and must implement the IEditableTextControl interface.Password -A senha do usuário estar conectado. This control is required and must implement the IEditableTextControl interface.
RememberMe - true para armazenar o token de autenticação em um cookie persistente; false para armazenar o token de autenticação em um cookie de sessão. This control is optional and must implement the ICheckBoxControl interface.
FailureText - Displays a login failure message.This control is optional and must implement the ITextControl interface.
PasswordRecovery.UserNameTemplate
UserName - The account name of the user to recover the password for.This control is required and must implement the IEditableTextControl interface.FailureText - Displays a password recovery failure message.This control is optional and must implement the ITextControl interface.
PasswordRecovery.QuestionTemplate
UserName - Displays the account name of the user that the password is being recovered for.This control is optional and must implement the ITextControl interface.Question - The password question for the user that the password is being recovered for.This control is optional and must implement the ITextControl interface.
Answer - The password answer for the user that the password is being recovered for.This control is required and must implement the IEditableTextControl interface.
FailureText - Displays a password recovery failure message.This control is optional and must implement the ITextControl interface.
CreateUserWizard.CreateUserStep, ContentTemplate
UserName - The account name of the user account to be created.This control is required and must implement the IEditableTextControl interface.Password - The password for the user account to be created.This control is required and must implement the IEditableTextControl interface.
ConfirmPassword - A confirmation value that must match the password.This control is optional and must implement the IEditableTextControl interface.
Question - The password question for the user to be created.This control is required if the RequiresQuestionAndAnswer property is true and must implement the IEditableTextControl interface.
Answer - The password answer for the user to be created.This control is required if the RequiresQuestionAndAnswer property is true and must implement the IEditableTextControl interface.
Email - The e-mail address for the user account to be created.This control is required if the RequiresUniqueEmail property is true and must implement the IEditableTextControl interface.
ErrorMessage - Displays a create user account failure message.This control is optional and must implement the ITextControl interface.
ChangePassword.ChangePasswordTemplate
UserName - The account name of the user account to be created.This control is required if the DisplayUserName property is true and must implement the IEditableTextControl interface.CurrentPassword - The current password for the user account.This control is required and must implement the IEditableTextControl interface.
NewPassword - The new password for the user account.This control is required and must implement the IEditableTextControl interface.
ConfirmPassword - A confirmation value that must match the new password.This control is optional and must implement the IEditableTextControl interface.
FailureText - Displays a create user account failure message.This control is optional and must implement the ITextControl interface.
Referencing a Control in a Login Control Template
To reference a control in a login control template, you can call the FindControl method of the container for the control template.The following table lists the templates and their associated container properties.
For example, if you were to include a DropDownList control with an ID of TimeZoneList in the ContentTemplate template of the CreateUserStep step of a CreateUserWizard control, you can reference the DropDownList control by calling the FindControl method of the ContentTemplateContainer container of the CreateUserStep property, as shown in the following example.
Protected Sub CreateUserWizard1_CreatedUser(sender As Object, e As EventArgs)
Dim timeZoneList As DropDownList = _
CType(CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TimeZoneList"), DropDownList)
End Sub
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
DropDownList timeZoneList =
(DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TimeZoneList");
}
Consulte também
Conceitos
Configurando um aplicativo ASP.NET para usar associação