Compartilhar via


ChangePassword Classe

Definição

Fornece uma interface do usuário que permite que os usuários alterem suas senhas de site da Web.

public ref class ChangePassword : System::Web::UI::WebControls::CompositeControl
[System.ComponentModel.Bindable(false)]
public class ChangePassword : System.Web.UI.WebControls.CompositeControl
[<System.ComponentModel.Bindable(false)>]
type ChangePassword = class
    inherit CompositeControl
    interface INamingContainer
Public Class ChangePassword
Inherits CompositeControl
Herança
Atributos
Implementações

Exemplos

O exemplo de código a seguir mostra como definir a NewPasswordRegularExpression propriedade para definir uma expressão regular que verifica senhas para garantir que elas atendam aos seguintes critérios:

  • São maiores que seis caracteres.

  • Contém pelo menos um dígito.

  • Contém pelo menos um caractere especial (não alfanumérico).

Os requisitos de senha contidos na PasswordHintText propriedade são exibidos para o usuário.

Se a senha inserida pelo usuário não atender aos requisitos da NewPasswordRegularExpression propriedade, o texto contido na NewPasswordRegularExpressionErrorMessage propriedade será exibido para o usuário. Se uma nova senha não for inserida, o texto contido na NewPasswordRequiredErrorMessage propriedade será exibido para o usuário.

Observação

A nova senha deve atender aos requisitos mínimos definidos pelo provedor de associação nas MinRequiredPasswordLengthpropriedades , MinRequiredNonAlphanumericCharacterse PasswordStrengthRegularExpression . Se a senha não atender a esses requisitos, o ChangePasswordError evento será gerado.

<%@ page language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>Change Password with Validation</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
  <asp:changepassword id="ChangePassword1" runat="server"
  PasswordHintText = 
    "Please enter a password at least 7 characters long, 
    containing a number and one special character."
  NewPasswordRegularExpression =
    '@\"(?=.{7,})(?=(.*\d){1,})(?=(.*\W){1,})' 
  NewPasswordRegularExpressionErrorMessage =
    "Error: Your password must be at least 7 characters long, 
    and contain at least one number and one special character." >
  </asp:changepassword>
  </div>
  </form>
</body>
</html>
<%@ page language="VB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>Change Password with Validation</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
  <asp:changepassword id="ChangePassword1" runat="server"
  PasswordHintText = "Please enter a password at least 7 characters long, containing a number and one special character."
  NewPasswordRegularExpression = '@\"(?=.{7,})(?=(.*\d){1,})(?=(.*\W){1,})' 
  NewPasswordRegularExpressionErrorMessage = "Your password must be at least 7 characters long, and contain at least one number and one special character.">
  </asp:changepassword>
  </div>
  </form>
</body>
</html>

Comentários

Neste tópico:

Introdução

Use o ChangePassword controle em uma página para permitir que os usuários do site alterem as senhas que usam para fazer logon em seu site.

Observação

Se você não estiver familiarizado com o conjunto de controles de logon disponíveis no ASP.NET, leia ASP.NET Visão geral dos controles de logon antes de continuar. Para obter uma lista de outros tópicos relacionados a controles de logon e associação, consulte Gerenciando usuários usando associação.

Importante

Transmitir senhas por HTTP é uma possível ameaça à segurança. As transmissões HTTP podem ser exibidas ou comprometidas por usuários mal-intencionados. Para melhorar a segurança ao usar controles de logon, você deve usar o protocolo HTTPS com criptografia SSL (secure sockets layer) para garantir que a senha do usuário não possa ser lida durante o postback. Para obter mais informações, consulte Protegendo controles de logon.

O ChangePassword controle usa o provedor de associação definido na MembershipProvider propriedade para alterar a senha armazenada no armazenamento de dados do provedor de associação para o site da Web. Se você não atribuir um provedor de associação, o ChangePassword controle usará o provedor de associação padrão definido na seção de associação do arquivo Web.config. O ChangePassword controle permite que os usuários executem as seguintes ações:

  • Altere a senha deles se estiverem conectados.

  • Altere a senha se elas não estiverem conectadas, desde que a página que contém o ChangePassword controle permita acesso anônimo e a DisplayUserName propriedade seja true.

  • Altere a senha de uma conta de usuário, mesmo que ela esteja conectada como um usuário diferente. Isso requer que a DisplayUserName propriedade seja true.

Definir a DisplayUserName propriedade como true exibe a caixa de texto Nome de Usuário, que permite que o usuário digite um nome de usuário. Se o usuário estiver conectado, o UserName controle será preenchido com o nome do usuário conectado. Depois que a senha do nome de usuário fornecido for alterada, o usuário será conectado à conta associada à senha alterada, mesmo que o usuário não tenha feito logon nessa conta anteriormente.

Importante

Aceitar a entrada do usuário é uma possível ameaça à segurança. Usuários mal-intencionados podem enviar dados destinados a expor vulnerabilidades ou executar programas que tentam senhas geradas. Para melhorar a segurança ao trabalhar com a entrada do usuário, você deve usar os recursos de validação do controle e proteger todos os provedores de dados configurados para o controle. Para obter mais informações, consulte Protegendo controles de logon, Práticas básicas de segurança para aplicativos Web e Protegendo a associação.

Enviando mensagens de email

O ChangePassword controle pode ser configurado para usar os serviços de email para enviar a nova senha para o usuário. Para enviar mensagens de email para usuários de qualquer um dos ASP.NET controles de servidor Web, você deve configurar um servidor de email no arquivo Web.config para seu aplicativo. Para obter mais informações, consulte Como instalar e configurar servidores virtuais SMTP no IIS 6.0.

As mensagens de email são configuradas usando a MailDefinition classe . Você deve definir a BodyFileName propriedade para instruir ASP.NET enviar emails.

Importante

O envio de nomes de conta de usuário ou senhas por email é uma possível ameaça à segurança. Normalmente, as mensagens de email são enviadas em texto sem formatação e podem ser lidas por aplicativos especiais de "detecção" de rede. Para melhorar a segurança, use as mitigações descritas em Protegendo controles de logon.

Observação

Não é possível garantir que um usuário receberá ou exibirá uma mensagem de email. Para verificar se um usuário recebeu uma mensagem, forneça um link de confirmação na mensagem de email que permite que o usuário confirme se a notificação foi recebida.

Exibições

O ChangePassword controle tem dois estados ou exibições:

  • Alterar Exibição de senha Solicita a senha atual e exige que o usuário digite a nova senha duas vezes para confirmação. Se você permitir que os usuários que não estão conectados alterem suas senhas, defina a DisplayUserName propriedade como true para exibir o UserName controle no modo de exibição Alterar Senha. O UserName controle permite que o usuário forneça seu nome de usuário registrado. Se houver um erro ao alterar a senha, uma mensagem de erro será exibida no modo de exibição Alterar Senha, permitindo que o usuário tente novamente.

  • Exibição de êxito Fornece a confirmação de que a senha foi alterada.

    Importante

    A funcionalidade para alterar senhas e continuar e cancelar é anexada a qualquer botão que tenha o nome de comando correto, independentemente de qual exibição o botão é colocado. Por exemplo, um botão com o valor commandname=changepassword na exibição Êxito tentará alterar a senha e resultará em uma exceção.

Estilos e modelos

Você pode usar um amplo conjunto de propriedades de estilo para personalizar a aparência do ChangePassword controle. Como alternativa, você pode aplicar modelos personalizados às duas exibições se precisar de controle total sobre a aparência do ChangePassword controle. Se você definir um modelo para uma exibição, as ControlStyle propriedades serão aplicadas. Para obter uma lista dos controles que você deve definir nos modelos de exibição, consulte as ChangePasswordTemplate propriedades e SuccessTemplate . O ChangePassword controle examina o conteúdo no modelo e gera uma exceção se um controle necessário não for encontrado, não for nomeado corretamente ou for do tipo errado. Por exemplo, se você usar o conteúdo no modelo e definir a DisplayUserName propriedade como true, o ChangePassword gerará uma exceção se um TextBox ou algum outro IEditableTextControl controle não for encontrado para o nome de usuário.

A tabela a seguir lista as propriedades de ChangePassword estilo de controle e descreve qual elemento de interface do usuário elas afetam. Para obter uma lista das propriedades às quais cada estilo se aplica, consulte a propriedade de estilo individual.

ChangePassword propriedade style Elemento da interface de usuário
CancelButtonStyle Botão Cancelar no modo de exibição Alterar Senha.
ChangePasswordButtonStyle Botão Alterar Senha no modo de exibição Alterar Senha.
ContinueButtonStyle Botão Continuar no modo de exibição Êxito.
FailureTextStyle Texto de erro exibido para o usuário.
HyperLinkStyle Hiperlinks para outras páginas.
InstructionTextStyle Texto instrucional na página que descreve como usar o ChangePassword controle .
LabelStyle Rótulos para todos os campos de entrada, como caixas de texto.
PasswordHintStyle Dicas para fornecer uma senha aceitável para o site.
SuccessTextStyle Texto exibido para o usuário quando a senha foi alterada com êxito.
TextBoxStyle Campos de entrada de texto.
TitleTextStyle Títulos para as exibições Alterar Senha e Êxito.

Aplicando estilos CSS

O ChangePassword controle permite especificar regras de estilo CSS na marcação. Se você usar modelos para personalizar a aparência do ChangePassword controle, poderá especificar estilos CSS na marcação nos modelos. Nesse caso, nenhuma tabela externa extra é necessária. Você pode impedir que a tabela seja renderizada definindo a RenderOuterTable propriedade como false.

Agrupamentos de validação

O ChangePassword controle usa um grupo de validação para que outros campos na mesma página que o ChangePassword controle possam ser validados separadamente. Por padrão, a ID propriedade do ChangePassword controle é usada como o nome do grupo de validação. Por exemplo, um ChangePassword controle com a ID "ChangePassword1" também usará um nome de grupo de ChangePassword1 validação. Para definir o grupo de validação do qual o ChangePassword controle faz parte, você deve criar um modelo com o controle e alterar o nome do grupo de validação.

Para mostrar mensagens de erro se um usuário deixar um TextBox controle vazio, adicione um ValidationSummary controle à página. Defina a ValidationGroup propriedade do ValidationSummary controle como a ID propriedade do ChangePassword controle .

Chaves de acesso e índices de tabulação

Para obter informações sobre como usar a AccessKey propriedade e a TabIndex propriedade de um ChangePassword controle, consulte Acessibilidade no Visual Studio e ASP.NET e controles de ASP.NET e acessibilidade.

Acessibilidade

Para obter informações sobre como configurar esse controle para que ele gere marcação em conformidade com os padrões de acessibilidade, consulte Acessibilidade no Visual Studio e ASP.NET e controles de ASP.NET e acessibilidade.

Acessando controles durante Page_Load e Page_Init

ChangePassword as propriedades de controle representadas por caixas de texto, como UserName e CurrentPassword, são acessíveis durante todas as fases do ciclo de vida da página. Em particular, durante as fases Page_Init e Page_Load, essas propriedades têm o mesmo valor que tinham quando o ChangePassword controle foi renderizado. Se o usuário alterar o valor da UserName propriedade modificando a UserName caixa de texto, o novo valor estará disponível quando o evento alterado for gerado, o que ocorrerá após a fase de Page_Load. Portanto, se você definir o valor da UserName propriedade na fase Page_Init ou Page_Load e fornecer um manipulador personalizado para um ChangePassword evento, qualquer alteração que o usuário faça na UserName caixa de texto substituirá o valor definido na fase Page_Init ou Page_Load.

Sintaxe declarativa

<asp:ChangePassword  
    AccessKey="string"  
    BackColor="color name|#dddddd"  
    BorderColor="color name|#dddddd"  
    BorderPadding="integer"  
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|  
        Inset|Outset"  
    BorderWidth="size"  
    CancelButtonImageUrl="uri"  
    CancelButtonText="string"  
    CancelButtonType="Button|Image|Link"  
    CancelDestinationPageUrl="uri"  
    ChangePasswordButtonImageUrl="uri"  
    ChangePasswordButtonText="string"  
    ChangePasswordButtonType="Button|Image|Link"  
    ChangePasswordFailureText="string"  
    ChangePasswordTitleText="string"  
    ConfirmNewPasswordLabelText="string"  
    ConfirmPasswordCompareErrorMessage="string"  
    ConfirmPasswordRequiredErrorMessage="string"  
    ContinueButtonImageUrl="uri"  
    ContinueButtonText="string"  
    ContinueButtonType="Button|Image|Link"  
    ContinueDestinationPageUrl="uri"  
    CreateUserIconUrl="uri"  
    CreateUserText="string"  
    CreateUserUrl="uri"  
    CssClass="string"  
    DisplayUserName="True|False"  
    EditProfileIconUrl="uri"  
    EditProfileText="string"  
    EditProfileUrl="uri"  
    Enabled="True|False"  
    EnableTheming="True|False"  
    EnableViewState="True|False"  
    Font-Bold="True|False"  
    Font-Italic="True|False"  
    Font-Names="string"  
    Font-Overline="True|False"  
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|  
        Large|X-Large|XX-Large"  
    Font-Strikeout="True|False"  
    Font-Underline="True|False"  
    ForeColor="color name|#dddddd"  
    Height="size"  
    HelpPageIconUrl="uri"  
    HelpPageText="string"  
    HelpPageUrl="uri"  
    ID="string"  
    InstructionText="string"  
    MailDefinition-BodyFileName="uri"  
    MailDefinition-CC="string"  
    MailDefinition-From="string"  
    MailDefinition-IsBodyHtml="True|False"  
    MailDefinition-Priority="Normal|Low|High"  
    MailDefinition-Subject="string"  
    MembershipProvider="string"  
    NewPasswordLabelText="string"  
    NewPasswordRegularExpression="string"  
    NewPasswordRegularExpressionErrorMessage="string"  
    NewPasswordRequiredErrorMessage="string"  
    OnCancelButtonClick="CancelButtonClick event handler"  
    OnChangedPassword="ChangedPassword event handler"  
    OnChangePasswordError="ChangePasswordError event handler"  
    OnChangingPassword="ChangingPassword event handler"  
    OnContinueButtonClick="ContinueButtonClick event handler"  
    OnDataBinding="DataBinding event handler"  
    OnDisposed="Disposed event handler"  
    OnInit="Init event handler"  
    OnLoad="Load event handler"  
    OnPreRender="PreRender event handler"  
    OnSendingMail="SendingMail event handler"  
    OnSendMailError="SendMailError event handler"  
    OnUnload="Unload event handler"  
    PasswordHintText="string"  
    PasswordLabelText="string"  
    PasswordRecoveryIconUrl="uri"  
    PasswordRecoveryText="string"  
    PasswordRecoveryUrl="uri"  
    PasswordRequiredErrorMessage="string"  
    runat="server"  
    SkinID="string"  
    Style="string"  
    SuccessPageUrl="uri"  
    SuccessText="string"  
    SuccessTitleText="string"  
    TabIndex="integer"  
    ToolTip="string"  
    UserName="string"  
    UserNameLabelText="string"  
    UserNameRequiredErrorMessage="string"  
    Visible="True|False"  
    Width="size"  
>  
        <CancelButtonStyle/>  
        <ChangePasswordButtonStyle/>  
        <ChangePasswordTemplate>  
            <!-- child controls -->  
        </ChangePasswordTemplate>  
        <ContinueButtonStyle/>  
        <FailureTextStyle/>  
        <HyperLinkStyle/>  
        <InstructionTextStyle/>  
        <LabelStyle/>  
        <MailDefinition  
            BodyFileName="uri"  
            CC="string"  
            From="string"  
            IsBodyHtml="True|False"  
            Priority="Normal|Low|High"  
            Subject="string"  
>  
                <EmbeddedObjects>  
                        <asp:EmbeddedMailObject  
                            Name="string"  
                            Path="uri"  
                        />  
                </EmbeddedObjects>  
        </MailDefinition>  
        <PasswordHintStyle/>  
        <SuccessTemplate>  
            <!-- child controls -->  
        </SuccessTemplate>  
        <SuccessTextStyle/>  
        <TextBoxStyle/>  
        <TitleTextStyle/>  
        <ValidatorTextStyle/>  
</asp:ChangePassword>  

Construtores

ChangePassword()

Inicializa uma nova instância da classe ChangePassword.

Campos

CancelButtonCommandName

Representa o valor CommandName do botão Cancelar. Este campo é somente leitura.

ChangePasswordButtonCommandName

Representa o valor CommandName do botão Alterar Senha. Este campo é somente leitura.

ContinueButtonCommandName

Representa o valor CommandName do botão Continuar. Este campo é somente leitura.

Propriedades

AccessKey

Obtém ou define a tecla de acesso que permite navegar rapidamente para o controle do servidor Web.

(Herdado de WebControl)
Adapter

Obtém o adaptador específico de navegador para o controle.

(Herdado de Control)
AppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo de aplicativo do objeto Page ou UserControl que contém este controle.

(Herdado de Control)
Attributes

Obtém a coleção de atributos arbitrários (somente para renderização) que não correspondem às propriedades do controle.

(Herdado de WebControl)
BackColor

Obtém ou define a cor da tela de fundo do controle do servidor Web.

(Herdado de WebControl)
BindingContainer

Obtém o controle que contém a vinculação de dados desse controle.

(Herdado de Control)
BorderColor

Obtém ou define a cor da borda do controle Web.

(Herdado de WebControl)
BorderPadding

Obtém ou define a quantidade de preenchimento, em pixels, dentro da borda e a área designada para o controle ChangePassword.

BorderStyle

Obtém ou define o estilo de borda do controle de servidor Web.

(Herdado de WebControl)
BorderWidth

Obtém ou define a largura da borda do controle de servidor Web.

(Herdado de WebControl)
CancelButtonImageUrl

Obtém ou define a URL de uma imagem para exibir com o botão Cancelar, se o botão Cancelar é configurado pela propriedade CancelButtonType para ser um botão de imagem.

CancelButtonStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência do botão Cancelar no controle ChangePassword.

CancelButtonText

Obtém ou define o texto exibido no botão Cancelar.

CancelButtonType

Obtém ou define o tipo do botão a ser usado para o botão Cancelar ao renderizar o controle ChangePassword.

CancelDestinationPageUrl

Obtém ou define a URL da página que o usuário verá depois de clicar no botão Cancelar no controle ChangePassword.

ChangePasswordButtonImageUrl

Obtém ou define a URL de uma imagem exibida ao lado do botão Alterar Senha no controle ChangePassword se o botão Alterar Senha é configurado pela propriedade ChangePasswordButtonType para ser um botão de imagem.

ChangePasswordButtonStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência do botão Alterar Senha no controle ChangePassword.

ChangePasswordButtonText

Obtém ou define o texto exibido no botão Alterar Senha.

ChangePasswordButtonType

Obtém ou define o tipo do botão a ser usado ao renderizar o botão Alterar Senha do controle ChangePassword.

ChangePasswordFailureText

Obtém ou define a mensagem que é exibida quando a senha do usuário não é alterada.

ChangePasswordTemplate

Obtém ou define o objeto ITemplate usado para mostrar a exibição Alterar Senha do controle ChangePassword.

ChangePasswordTemplateContainer

Obtém o contêiner que um controle ChangePassword usa para criar uma instância do modelo ChangePasswordTemplate. Isso fornece acesso programático ao controles filho.

ChangePasswordTitleText

Obtém ou define o texto exibido na parte superior do controle ChangePassword na exibição Alterar Senha.

ChildControlsCreated

Obtém um valor que indica se os controles filho do controle de servidor foram criados.

(Herdado de Control)
ClientID

Obtém a ID de controle de marcação HTML gerada pelo ASP.NET.

(Herdado de Control)
ClientIDMode

Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID.

(Herdado de Control)
ClientIDSeparator

Obtém um valor de caractere que representa o caractere separador usado na propriedade ClientID.

(Herdado de Control)
ConfirmNewPassword

Obtém a confirmação da senha inserida pelo usuário.

ConfirmNewPasswordLabelText

Obtém ou define o texto do rótulo para a caixa de texto ConfirmNewPassword.

ConfirmPasswordCompareErrorMessage

Obtém ou define a mensagem exibida quando a nova senha e a confirmação da senha inseridas pelo usuário não são idênticas.

ConfirmPasswordRequiredErrorMessage

Obtém ou define a mensagem de erro exibida quando a caixa de texto Confirmar Nova Senha é deixada vazia.

Context

Obtém o objeto HttpContext associado ao controle de servidor para a solicitação da Web atual.

(Herdado de Control)
ContinueButtonImageUrl

Obtém ou define a URL de uma imagem a ser usada para o botão Continuar na exibição de Êxito do controle ChangePassword se o botão Continuar é configurado pela propriedade ContinueButtonType para ser um botão de imagem.

ContinueButtonStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência do botão Continuar na exibição de Êxito do controle ChangePassword.

ContinueButtonText

Obtém ou define o texto que é exibido no botão Continuar na exibição de Êxito do controle ChangePassword.

ContinueButtonType

Obtém ou define o tipo do botão a ser usado ao renderizar o botão Continuar para o controle ChangePassword.

ContinueDestinationPageUrl

Obtém ou define a URL da página que o usuário verá depois de clicar no botão Continuar na exibição de Êxito.

Controls

Obtém um objeto ControlCollection que representa os controles filho em um CompositeControl.

(Herdado de CompositeControl)
ControlStyle

Obtém o estilo de um controle de servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
ControlStyleCreated

Obtém um valor que indica se um objeto Style foi criado para a propriedade ControlStyle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateUserIconUrl

Obtém ou define a URL de uma imagem a ser exibida ao lado do link para a página da Web que contém um controle CreateUserWizard do site.

CreateUserText

Obtém ou define o texto do link para a página da Web que contém um controle CreateUserWizard do site.

CreateUserUrl

Obtém ou define a URL da página da Web que contém um controle CreateUserWizard do site.

CssClass

Obtém ou define a classe CSS (Folha de Estilos em Cascata) renderizada pelo controle do servidor Web no cliente.

(Herdado de WebControl)
CurrentPassword

Obtém a senha atual do usuário.

DataItemContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataItemContainer.

(Herdado de Control)
DataKeysContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataKeysControl.

(Herdado de Control)
DesignMode

Obtém um valor que indica se um controle está sendo usado em uma superfície de design.

(Herdado de Control)
DisplayUserName

Obtém ou define um valor que indica se o controle ChangePassword deve exibir o rótulo e o controle UserName.

EditProfileIconUrl

Obtém ou define a URL de uma imagem a ser exibida ao lado do link para a página de edição do perfil do usuário para o site.

EditProfileText

Obtém ou define o texto do link para a página de edição do perfil do usuário para o site.

EditProfileUrl

Obtém ou define a URL da página de edição do perfil do usuário para o site.

Enabled

Obtém ou define um valor que indica se o controle do servidor Web está habilitado.

(Herdado de WebControl)
EnableTheming

Obtém ou define um valor que indica se os temas se aplicam a esse controle.

(Herdado de WebControl)
EnableViewState

Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante.

(Herdado de Control)
Events

Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente para leitura.

(Herdado de Control)
FailureTextStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência das mensagens de erro no controle ChangePassword.

Font

Obtém as propriedades de fonte associadas ao controle do servidor Web.

(Herdado de WebControl)
ForeColor

Obtém ou define a cor de primeiro plano (normalmente a cor do texto) do controle de servidor Web.

(Herdado de WebControl)
HasAttributes

Obtém um valor que indica se o controle tem atributos definidos.

(Herdado de WebControl)
HasChildViewState

Obtém um valor que indica se os controles filho do controle de servidor atual têm alguma configuração de estado de exibição salva.

(Herdado de Control)
Height

Obtém ou define a altura do controle do servidor Web.

(Herdado de WebControl)
HelpPageIconUrl

Obtém ou define a URL de uma imagem a ser exibida ao lado da página de ajuda de Alterar Senha para o site.

HelpPageText

Obtém ou define o texto do link para a página de ajuda de Alterar Senha para o site.

HelpPageUrl

Obtém ou define a URL da página de ajuda de Alterar Senha para o site.

HyperLinkStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência dos hiperlinks no controle ChangePassword.

ID

Obtém ou define o identificador programático atribuído ao controle de servidor.

(Herdado de Control)
IdSeparator

Obtém o caractere usado para separar identificadores de controle.

(Herdado de Control)
InstructionText

Obtém ou define o texto informativo que aparece no controle ChangePassword entre o ChangePasswordTitleText e as caixas de entrada.

InstructionTextStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência do texto com instrução no controle ChangePassword.

IsChildControlStateCleared

Obtém um valor que indica se os controles contidos dentro deste controle têm estado de controle.

(Herdado de Control)
IsEnabled

Obtém um valor que indica se o controle está habilitado.

(Herdado de WebControl)
IsTrackingViewState

Obtém um valor que indica se o controle de servidor está salvando alterações no estado de exibição.

(Herdado de Control)
IsViewStateEnabled

Obtém um valor que indica se o estado de exibição está habilitado para esse controle.

(Herdado de Control)
LabelStyle

Obtém uma referência a uma coleção de objetos Style que definem a aparência dos rótulos da caixa de texto no controle ChangePassword.

LoadViewStateByID

Obtém um valor que indica se o controle participa do carregamento do estado de exibição por ID em vez do índice.

(Herdado de Control)
MailDefinition

Obtém uma referência a uma coleção de propriedades que definem a mensagem de email enviada aos usuários depois que eles alteram suas senhas.

MembershipProvider

Obtém ou define o provedor de associação que é usado para gerenciar informações do membro.

NamingContainer

Obtém uma referência ao contêiner de nomenclatura do controle do servidor, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo valor da propriedade ID.

(Herdado de Control)
NewPassword

Obtém a nova senha inserida pelo usuário.

NewPasswordLabelText

Obtém ou define o texto do rótulo para a caixa de texto Nova Senha.

NewPasswordRegularExpression

Obtém ou define a expressão regular usada para validar a senha fornecida pelo usuário.

NewPasswordRegularExpressionErrorMessage

Obtém ou define a mensagem de erro que é mostrada quando a senha digitada não é aprovada segundo os critérios de expressão regular definidos na propriedade NewPasswordRegularExpression.

NewPasswordRequiredErrorMessage

Obtém ou define a mensagem de erro exibida quando o usuário deixa a caixa de texto Nova Senha vazia.

Page

Obtém uma referência para a instância Page que contém o controle de servidor.

(Herdado de Control)
Parent

Obtém uma referência ao controle pai do controle de servidor na hierarquia de controle da página.

(Herdado de Control)
PasswordHintStyle

Obtém uma referência para uma coleção de propriedades Style que definem a aparência do texto de dica que aparece no controle ChangePassword.

PasswordHintText

Obtém ou define o texto informativo sobre os requisitos para a criação de uma senha para o site da Web.

PasswordLabelText

Obtém ou define o texto do rótulo para a caixa de texto Senha Atual.

PasswordRecoveryIconUrl

Obtém ou define a URL de uma imagem a ser exibida ao lado de um link para a página da Web que contém o controle PasswordRecovery.

PasswordRecoveryText

Obtém ou define o texto do link para a página da Web que contém o controle PasswordRecovery.

PasswordRecoveryUrl

Obtém ou define a URL da página da Web que contém o controle PasswordRecovery.

PasswordRequiredErrorMessage

Obtém ou define a mensagem de erro exibida quando o usuário deixa a caixa de texto Senha Atual vazia.

RenderingCompatibility

Obtém um valor que especifica a versão do ASP.NET com a qual o HTML renderizado será compatível.

(Herdado de Control)
RenderOuterTable

Obtém ou define um valor que indica se o controle circunscreve HTML renderizado em um elemento table para aplicar estilos embutidos.

Site

Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design.

(Herdado de Control)
SkinID

Obtém ou define a capa a ser aplicada ao controle.

(Herdado de WebControl)
Style

Obtém uma coleção de atributos de texto que serão renderizados como um atributo de estilo na marca externa do controle de servidor Web.

(Herdado de WebControl)
SuccessPageUrl

Obtém ou define a URL da página que é exibida para os usuários depois que eles alteram a senha com êxito.

SuccessTemplate

Obtém ou define o objeto ITemplate usado para mostrar as exibições Êxito e Alterar Senha do controle ChangePassword.

SuccessTemplateContainer

Obtém o contêiner que um controle ChangePassword usou para criar uma instância do modelo SuccessTemplate. Isso fornece acesso programático ao controles filho.

SuccessText

Obtém ou define o texto que é exibido na exibição de Êxito entre o SuccessTitleText e o botão Continuar.

SuccessTextStyle

Obtém uma coleção de propriedades Style que definem a aparência do texto na exibição de Êxito.

SuccessTitleText

Obtém ou define o título da exibição de Êxito.

SupportsDisabledAttribute

Obtém um valor que indica se o controle deve definir o atributo disabled do elemento HTML renderizado para "desabilitado" quando a propriedade do controle IsEnabled é false.

(Herdado de CompositeControl)
TabIndex

Obtém ou define o índice de tabulação do controle do servidor Web.

(Herdado de WebControl)
TagKey

Obtém o valor de HtmlTextWriterTag que corresponde a um controle ChangePassword. Essa propriedade é usada principalmente por desenvolvedores de controle.

TagName

Obtém o nome da marca de controle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
TemplateControl

Obtém ou define uma referência ao modelo que contém este controle.

(Herdado de Control)
TemplateSourceDirectory

Obtém o diretório virtual do Page ou UserControl que contém o controle do servidor atual.

(Herdado de Control)
TextBoxStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência dos controles de caixa de texto no controle ChangePassword.

TitleTextStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência dos títulos no controle ChangePassword.

ToolTip

Obtém ou define o texto exibido quando o ponteiro do mouse passa sobre o controle de servidor Web.

(Herdado de WebControl)
UniqueID

Obtém o identificador exclusivo, qualificado segundo a hierarquia, para o controle de servidor.

(Herdado de Control)
UserName

Obtém ou define o nome de usuário do site da Web para o qual alterar a senha.

UserNameLabelText

Obtém ou define o rótulo da caixa de texto Nome de Usuário.

UserNameRequiredErrorMessage

Obtém ou define a mensagem de erro exibida quando o usuário deixa a caixa de texto Nome de Usuário vazia.

ValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos.

(Herdado de Control)
ValidatorTextStyle

Obtém uma referência a uma coleção de propriedades Style que definem a aparência das mensagens de erro que são associadas a qualquer validação de entrada usada pelo controle ChangePassword.

ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página.

(Herdado de Control)
ViewStateIgnoresCase

Obtém um valor que indica se o objeto StateBag não diferencia maiúsculas de minúsculas.

(Herdado de Control)
ViewStateMode

Obtém ou define o modo de estado de exibição deste controle.

(Herdado de Control)
Visible

Obtém ou define um valor que indica se um controle de servidor é renderizado como uma interface do usuário na página.

(Herdado de Control)
Width

Obtém ou define a largura do controle de servidor Web.

(Herdado de WebControl)

Métodos

AddAttributesToRender(HtmlTextWriter)

Adiciona atributos HTML e estilos que precisam ser renderizadas ao HtmlTextWriterTag especificado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
AddedControl(Control, Int32)

Chamado após um controle filho ser adicionado à coleção Controls do objeto Control.

(Herdado de Control)
AddParsedSubObject(Object)

Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto ControlCollection do controle de servidor.

(Herdado de Control)
ApplyStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, substituindo os elementos de estilo existentes no controle. Esse método é usado principalmente por desenvolvedores de controles.

(Herdado de WebControl)
ApplyStyleSheetSkin(Page)

Aplica as propriedades de estilo definidas na folha de estilos da página ao controle.

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

Inicia o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
BuildProfileTree(String, Boolean)

Reúne informações sobre o controle de servidor e as envia para a propriedade Trace para serem exibidas quando o rastreamento está habilitado para a página.

(Herdado de Control)
ClearCachedClientID()

Define o valor ClientID armazenado em cache como null.

(Herdado de Control)
ClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle de servidor.

(Herdado de Control)
ClearChildState()

Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearChildViewState()

Exclui as informações de estado de exibição para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a propriedade ClientIDMode da instância de controle atual e de quaisquer controles filho para Inherit.

(Herdado de Control)
CopyBaseAttributes(WebControl)

Copia as propriedades que não são encapsuladas pelo objeto Style de controle do servidor Web especificado ao controle de servidor Web do qual este método é chamado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateChildControls()

Cria os controles individuais que compõem o controle ChangePassword contém em preparação para postback ou renderização.

CreateControlCollection()

Cria um novo objeto ControlCollection para manter os controles filho (literal e servidor) do controle do servidor.

(Herdado de Control)
CreateControlStyle()

Cria o objeto de estilo que é usado internamente pela classe WebControl para implementar todas as propriedades relacionadas a estilo. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
DataBind()

Associa uma fonte de dados ao CompositeControl e a todos os seus controles filho.

(Herdado de CompositeControl)
DataBind(Boolean)

Associa uma fonte de dados ao controle de servidor invocado e todos os seus controles filho com uma opção para gerar o evento DataBinding.

(Herdado de Control)
DataBindChildren()

Associa uma fonte de dados aos controles filho do controle do servidor.

(Herdado de Control)
Dispose()

Permite que um controle de servidor execute a limpeza final antes do lançamento da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

Encerra o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
EnsureChildControls()

Determinará se o controle de servidor contiver controles filho. Se ele não contiver, ele criará controles filho.

(Herdado de Control)
EnsureID()

Cria um identificador para controles que não têm um identificador atribuído.

(Herdado de Control)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindControl(String)

Procura o atual contêiner de nomenclatura de um controle de servidor com o parâmetro id especificado.

(Herdado de Control)
FindControl(String, Int32)

Procura o contêiner de nomenclatura atual para um controle de servidor com o id especificado e um inteiro especificado no parâmetro pathOffset, que auxilia na pesquisa. Você não deve substituir esta versão do método FindControl.

(Herdado de Control)
Focus()

Define o foco de entrada para um controle.

(Herdado de Control)
GetDesignModeState()

Obtém os dados de tempo de design para um controle.

(Herdado de Control)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(String, Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueIDRelativeTo(Control)

Retorna a parte prefixada da propriedade UniqueID do controle especificado.

(Herdado de Control)
HasControls()

Determina se o controle de servidor contém algum controle filho.

(Herdado de Control)
HasEvents()

Retorna um valor que indica se os eventos são registrados para o controle ou qualquer controle filho.

(Herdado de Control)
IsLiteralContent()

Determina se o controle de servidor contém apenas o conteúdo literal.

(Herdado de Control)
LoadControlState(Object)

Restaura informações de estado do controle de uma solicitação de página anterior que foi salva pelo método SaveControlState().

LoadViewState(Object)

Restaura informações de estado de exibição de uma solicitação de página anterior salva pelo método SaveViewState().

MapPathSecure(String)

Recupera o caminho físico para o qual um caminho virtual é mapeado, relativo ou virtual.

(Herdado de Control)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MergeStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, mas não substituirá os elementos de estilo existentes do controle. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se o evento do controle ChangePassword é passado um nível acima na hierarquia de controle de servidor Web da página.

OnCancelButtonClick(EventArgs)

Aciona o evento CancelButtonClick quando um usuário clica no botão Cancelar.

OnChangedPassword(EventArgs)

Aciona o evento ChangedPassword após a senha ser alterada.

OnChangePasswordError(EventArgs)

Aciona o evento ChangePasswordError quando a senha do usuário não é alterada.

OnChangingPassword(LoginCancelEventArgs)

Gera o evento ChangingPassword antes da senha do usuário ser alterada pelo provedor de associação.

OnContinueButtonClick(EventArgs)

Aciona o evento ContinueButtonClick quando um usuário clica no botão Continuar.

OnDataBinding(EventArgs)

Aciona o evento DataBinding.

(Herdado de Control)
OnInit(EventArgs)

Aciona o evento Init para o controle ChangePassword para permitir que o controle faça seu próprio registro com a página.

OnLoad(EventArgs)

Aciona o evento Load.

(Herdado de Control)
OnPreRender(EventArgs)

Aciona o evento PreRender.

OnSendingMail(MailMessageEventArgs)

Aciona o evento SendingMail antes de uma mensagem de email ser enviada ao servidor SMTP para processamento. Em seguia, o servidor SMTP envia a mensagem de email para o usuário.

OnSendMailError(SendMailErrorEventArgs)

Aciona o evento SendMailError quando uma mensagem de email não pode ser enviada ao usuário.

OnUnload(EventArgs)

Aciona o evento Unload.

(Herdado de Control)
OpenFile(String)

Obtém um Stream usado para ler um arquivo.

(Herdado de Control)
RaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes de evento e suas informações para o pai do controle.

(Herdado de Control)
RecreateChildControls()

Recria os controles filho em um controle derivado de CompositeControl.

(Herdado de CompositeControl)
RemovedControl(Control)

Chamado após um controle filho ser removido da coleção Controls do objeto Control.

(Herdado de Control)
Render(HtmlTextWriter)

Grava o conteúdo do controle de ChangePassword no objeto HtmlTextWriter especificado para exibição no cliente.

RenderBeginTag(HtmlTextWriter)

Renderiza a marca de abertura HTML do controle para o gravador especificado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
RenderChildren(HtmlTextWriter)

Gera o conteúdo dos filhos de um controle de servidor para um objeto HtmlTextWriter fornecido, que grava o conteúdo a ser renderizado no cliente.

(Herdado de Control)
RenderContents(HtmlTextWriter)

Renderiza o conteúdo do controle no gravador especificado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
RenderControl(HtmlTextWriter)

Gera o conteúdo do controle de servidor para um objeto HtmlTextWriter fornecido e armazena informações de rastreamento sobre o controle caso o rastreamento esteja habilitado.

(Herdado de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Gera o conteúdo do controle de servidor a um objeto HtmlTextWriter fornecido usando um objeto ControlAdapter fornecido.

(Herdado de Control)
RenderEndTag(HtmlTextWriter)

Renderiza a marca de fechamento HTML do controle para o gravador especificado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
ResolveAdapter()

Obtém o adaptador de controle responsável por renderizar o controle especificado.

(Herdado de Control)
ResolveClientUrl(String)

Obtém uma URL que pode ser usada pelo navegador.

(Herdado de Control)
ResolveUrl(String)

Converte uma URL em uma que possa ser usada no cliente solicitante.

(Herdado de Control)
SaveControlState()

Salva as alterações de estado do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor.

SaveViewState()

Salva alterações de estado de exibição do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor.

SetDesignModeState(IDictionary)

Define os dados de tempo de design para um controle.

SetRenderMethodDelegate(RenderMethod)

Atribui um delegado do manipulador de eventos para renderizar o controle de servidor e seu conteúdo em seu controle pai.

(Herdado de Control)
SetTraceData(Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando a chave e o valor de dados de rastreamento.

(Herdado de Control)
SetTraceData(Object, Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando o objeto rastreado, a chave e o valor de dados de rastreamento.

(Herdado de Control)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Causa o acompanhamento das alterações de estado de exibição para o controle de servidor, para que elas possam ser armazenadas no objeto StateBag do controle de servidor. Esse objeto é acessível por meio da propriedade ViewState.

Eventos

CancelButtonClick

Ocorre quando o usuário clica no botão Cancelar para cancelar a alteração de uma senha.

ChangedPassword

Ocorre quando a senha é alterada para uma conta de usuário.

ChangePasswordError

Ocorre quando há um erro ao alterar a senha da conta de usuário.

ChangingPassword

Ocorre antes que a senha de uma conta de usuário seja alterada pelo provedor de associação.

ContinueButtonClick

Aciona o evento ContinueButtonClick quando o usuário clica no botão Continuar.

DataBinding

Ocorre quando o controle de servidor é associado a uma fonte de dados.

(Herdado de Control)
Disposed

Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida de controle de servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

Ocorre quando o controle de servidor é inicializado, que é a primeira etapa do ciclo de vida.

(Herdado de Control)
Load

Ocorre quando o controle de servidor é carregado no objeto Page.

(Herdado de Control)
PreRender

Ocorre depois que o objeto Control é carregado, mas antes da renderização.

(Herdado de Control)
SendingMail

Ocorre antes do usuário receber um email de confirmação indicando que a senha foi alterada.

SendMailError

Ocorre quando há um erro de SMTP ao enviar uma mensagem de email para o usuário.

Unload

Ocorre quando o controle de servidor é descarregado da memória.

(Herdado de Control)

Implantações explícitas de interface

IAttributeAccessor.GetAttribute(String)

Obtém um atributo do controle da Web com o nome especificado.

(Herdado de WebControl)
IAttributeAccessor.SetAttribute(String, String)

Define um atributo do controle da Web para o nome e o valor especificados.

(Herdado de WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Permite que um designer recrie a coleção de controles filho do controle de composição no ambiente de tempo de design.

(Herdado de CompositeControl)
IControlBuilderAccessor.ControlBuilder

Para obter uma descrição desse membro, confira ControlBuilder.

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição desse membro, confira GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição desse membro, confira SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obter uma descrição desse membro, confira SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

Para obter uma descrição desse membro, confira UserData.

(Herdado de Control)
IDataBindingsAccessor.DataBindings

Para obter uma descrição desse membro, confira DataBindings.

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

Para obter uma descrição desse membro, confira HasDataBindings.

(Herdado de Control)
IExpressionsAccessor.Expressions

Para obter uma descrição desse membro, confira Expressions.

(Herdado de Control)
IExpressionsAccessor.HasExpressions

Para obter uma descrição desse membro, confira HasExpressions.

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição desse membro, confira AddParsedSubObject(Object).

(Herdado de Control)

Métodos de Extensão

FindDataSourceControl(Control)

Retorna a fonte de dados associada ao controle de dados do controle especificado.

FindFieldTemplate(Control, String)

Retorna o modelo do campo para a coluna especificada no contêiner de nomenclatura do controle especificado.

FindMetaTable(Control)

Retorna o objeto metatable para o controle que contém dados.

GetDefaultValues(INamingContainer)

Obtém a coleção de valores padrão para o controle de dados especificado.

GetMetaTable(INamingContainer)

Obtém os metadados de tabela para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable)

Define os metadados de tabela para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable, Object)

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

TryGetMetaTable(INamingContainer, MetaTable)

Determina se os metadados da tabela estão disponíveis.

EnableDynamicData(INamingContainer, Type)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

EnableDynamicData(INamingContainer, Type, Object)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

Aplica-se a

Confira também