Personalizzazione dell'aspetto dei controlli di accesso ASP.NET
Aggiornamento: novembre 2007
È possibile personalizzare il contenuto di diversi controlli di accesso ASP.NET specificando modelli del controllo e aggiungendo controlli personalizzati all'interfaccia utente del controllo oppure sostituendo o rimuovendo controlli facoltativi non richiesti per l'interfaccia utente del controllo.
È possibile utilizzare le proprietà di stile dei controlli di accesso nonché i temi e le interfacce per personalizzare l'aspetto del controllo. Per ulteriori informazioni, fare riferimento ai membri del controllo specifico e a Cenni preliminari su temi e interfacce ASP.NET.
Controlli di accesso personalizzabili
È possibile personalizzare il contenuto di qualsiasi controllo di accesso laddove l'interfaccia utente del controllo esistente può essere sostituita mediante un modello, come avviene per i controlli Login, PasswordRecovery, CreateUserWizard e ChangePassword. Nella tabella che segue sono indicati i modelli disponibili per la personalizzazione con ciascun controllo.
Login
Utilizzare il modello LayoutTemplate per specificare diversi controlli per recuperare un nome utente e una password per effettuare l'accesso.PasswordRecovery
Utilizzare il modello UserNameTemplate per specificare diversi controlli per recuperare il nome utente per il quale recuperare la password.Utilizzare il modello QuestionTemplate per specificare diversi controlli per recuperare la domanda segreta se la proprietà RequiresQuestionAndAnswer è true.
Utilizzare il modello SuccessTemplate per specificare diversi controlli visualizzati quando la password di un utente è stata recuperata correttamente.
CreateUserWizard
Utilizzare il modello ContentTemplate del passaggioCreateUserStep per specificare diversi controlli per recuperare il nome utente, la password e altre informazioni necessarie per creare un nuovo account utente.Utilizzare il modello ContentTemplate del passaggio CompleteStep per specificare diversi controlli visualizzati quando l'operazione di creazione utente è completa.
ChangePassword
Utilizzare il modello ChangePasswordTemplate per specificare diversi controlli per recuperare il nome utente, la password corrente e la nuova password per l'utente che ha deciso di modificarla.Utilizzare il modello SuccessTemplate per specificare diversi controlli visualizzati quando la password di un utente è stata modificata correttamente.
Specifica dei controlli nei modelli di controllo di accesso
È possibile includere controlli e pulsanti di comando aggiuntivi nei modelli di controlli di accesso nonché sostituire i controlli e i pulsanti di comando predefiniti con quelli appositamente creati.
Sostituzione dei pulsanti di comando in un modello di controllo di accesso
È possibile utilizzare qualsiasi controllo come pulsante di comando in un modello di controllo di accesso. Per consentire tuttavia al controllo di accesso di riconoscere il comando, è necessario che il controllo del comando visualizzi un evento che includa appositi argomenti che ereditano dalla classe CommandEventArgs. Il pulsante di comando deve specificare un valore per la proprietà CommandName della classe CommandEventArgs che identifichi il comando che deve essere eseguito dal controllo di accesso. Nella tabella che segue sono indicati i valori validi per la proprietà CommandName e i relativi modelli di controlli di accesso.
Login.LayoutTemplate
Login: convalida le credenziali utente e consente all'utente di effettuare l'accesso.PasswordRecovery.UserNameTemplate
Submit: recupera il nome utente per il quale recuperare la password e continua il processo di accesso.PasswordRecovery.QuestionTemplate
Submit: recupera la risposta segreta per l'utente e ne recupera la password.CreateUserWizard.CreateUserStep, CustomNavigationTemplate
CreateUser: recupera i valori forniti dall'utente e crea il nuovo account utente.Cancel: termina l'operazione di creazione utente.
CreateUserWizard.CompleteStep, ContentTemplate
Continue: consente all'utente di passare alla pagina ContinueDestinationPageUrl.ChangePassword.ChangePasswordTemplate
ChangePassword: recupera i valori forniti dall'utente e modifica la password.Cancel: termina l'operazione di modifica password.
ChangePassword.SuccessTemplate
Continue: consente all'utente di passare alla pagina ContinueDestinationPageUrl.
Sostituzione dei controlli in un modello di controllo di accesso
È possibile sostituire i controlli di input e visualizzazione utilizzati da diversi controlli di accesso ASP.NET nei rispettivi modelli. Ogni modello dispone di controlli da includere nel modello e di controlli facoltativi. I controlli obbligatori e facoltativi vengono identificati mediante la proprietà ID del controllo. Se un modello non include un controllo in cui la proprietà ID è impostata su un identificatore di controllo obbligatorio, o se il controllo non implementa l'interfaccia appropriata, il controllo di accesso ASP.NET non genererà un'eccezione.
Nella tabella che segue sono indicati i modelli e i controlli richiesti dalle rispettive proprietà ID.
Login.LayoutTemplate
UserName: il nome dell'account dell'utente a cui consentire l'accesso. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.Password: la password dell'utente a cui consentire l'accesso. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.
RememberMe: true per memorizzare il token di autenticazione in un cookie persistente, false per memorizzare il token di autenticazione in un cookie di sessione. Questo controllo è facoltativo e deve implementare l'interfaccia ICheckBoxControl.
FailureText: visualizza il messaggio di errore di accesso. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
PasswordRecovery.UserNameTemplate
UserName: il nome dell'account dell'utente per il quale recuperare la password. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.FailureText: visualizza il messaggio di errore di recupero della password. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
PasswordRecovery.QuestionTemplate
UserName: visualizza il nome dell'account dell'utente per il quale viene recuperata la password. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.Question: la domanda segreta dell'utente per il quale viene recuperata la password. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
Answer: la risposta segreta dell'utente per il quale viene recuperata la password. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.
FailureText: visualizza il messaggio di errore di recupero della password. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
CreateUserWizard.CreateUserStep, ContentTemplate
UserName: il nome dell'account utente da creare. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.Password: la password dell'account utente da creare. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.
ConfirmPassword: un valore di conferma che deve corrispondere alla password. Questo controllo è facoltativo e deve implementare l'interfaccia IEditableTextControl.
Question: la domanda segreta dell'utente da creare. Questo controllo è obbligatorio se la proprietà RequiresQuestionAndAnswer è true e deve implementare l'interfaccia IEditableTextControl.
Answer: la risposta segreta dell'utente da creare. Questo controllo è obbligatorio se la proprietà RequiresQuestionAndAnswer è true e deve implementare l'interfaccia IEditableTextControl.
Email: l'indirizzo di posta elettronica per l'account utente da creare. Questo controllo è obbligatorio se la proprietà RequiresUniqueEmail è true e deve implementare l'interfaccia IEditableTextControl.
ErrorMessage: visualizza il messaggio di errore di creazione dell'account utente. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
ChangePassword.ChangePasswordTemplate
UserName: il nome dell'account utente da creare. Questo controllo è obbligatorio se la proprietà DisplayUserName è true e deve implementare l'interfaccia IEditableTextControl.CurrentPassword: la password corrente per l'account utente. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.
NewPassword: la nuova password per l'account utente. Questo controllo è obbligatorio e deve implementare l'interfaccia IEditableTextControl.
ConfirmPassword: un valore di conferma che deve corrispondere alla nuova password. Questo controllo è facoltativo e deve implementare l'interfaccia IEditableTextControl.
FailureText: visualizza il messaggio di errore di creazione dell'account utente. Questo controllo è facoltativo e deve implementare l'interfaccia ITextControl.
Riferimento a un controllo in un modello di controllo di accesso
Per fare riferimento a un controllo in un modello di controllo di accesso, è possibile chiamare il metodo FindControl del contenitore relativo al modello di controllo. Nella tabella che segue sono indicati i modelli e le proprietà del contenitore associato.
Se, ad esempio, è necessario includere un controllo DropDownList con un ID di TimeZoneList nel modello ContentTemplate del passaggio CreateUserStep di un controllo CreateUserWizard, è possibile fare riferimento al controllo DropDownList chiamando il metodo FindControl del contenitore ContentTemplateContainer della proprietà CreateUserStep, come illustrato nell'esempio riportato di seguito.
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");
}
Vedere anche
Concetti
Configurazione di un'applicazione ASP.NET per l'utilizzo delle appartenenze