Procedura: personalizzare il controllo PasswordRecovery
Aggiornamento: novembre 2007
È possibile personalizzare il controllo PasswordRecovery nei seguenti modi:
Modificare i modelli visualizzati e l'interfaccia utente del controllo.
Applicare un tema ASP.NET al controllo. Per ulteriori informazioni, vedere Cenni preliminari su temi e interfacce ASP.NET.
Utilizzare le proprietà del controllo, ad esempio QuestionLabelText o InstructionTextStyle, per modificarne l'aspetto. Per ulteriori informazioni, vedere le proprietà del controllo PasswordRecovery nei riferimenti alla libreria di classi.
In questo argomento viene descritto come personalizzare il controllo System.Web.UI.WebControls.PasswordRecovery utilizzando i modelli.
Per modificare i modelli di PasswordRecovery
Aggiungere un controllo PasswordRecovery alla pagina, come illustrato nell'esempio di codice riportato di seguito.
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server"> </asp:PasswordRecovery>
È possibile applicare stili per personalizzare l'aspetto del controllo PasswordRecovery. Utilizzare le proprietà per applicare gli stili desiderati al modello, ad esempio LabelStyle, HyperLinkStyle e TitleTextStyle.
Per personalizzare il contenuto del controllo PasswordRecovery, continuare con i passaggi descritti di seguito per modificare i modelli utilizzati dal controllo PasswordRecovery.
Creare un modello UserNameTemplate per specificare il codice e i controlli visualizzati quando viene eseguito per la prima volta il rendering del controllo, come illustrato nell'esempio di codice riportato di seguito.
Nota sulla sicurezza: L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<UserNameTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Forgot Your Password?</td> </tr> <tr> <td align="center" colspan="2"> Enter your User Name to receive your password.</td> </tr> <tr> <td align="right"> <asp:Label ID="UserNameLabel" AssociatedControlID="UserName">User Name:</asp:Label></td> <td> <asp:TextBox ID="UserName" ></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </UserNameTemplate>
<UserNameTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Forgot Your Password?</td> </tr> <tr> <td align="center" colspan="2"> Enter your User Name to receive your password.</td> </tr> <tr> <td align="right"> <asp:Label ID="UserNameLabel" AssociatedControlID="UserName">User Name:</asp:Label></td> <td> <asp:TextBox ID="UserName" ></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </UserNameTemplate>
Creare un modello QuestionTemplate per specificare il codice e i controlli visualizzati quando il controllo richiede all'utente di rispondere alla domanda segreta, come illustrato nell'esempio di codice riportato di seguito.
Nota sulla sicurezza: L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<QuestionTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Identity Confirmation</td> </tr> <tr> <td align="center" colspan="2"> Answer the following question to receive your password.</td> </tr> <tr> <td align="right"> User Name:</td> <td> <asp:Literal ID="UserName" ></asp:Literal> </td> </tr> <tr> <td align="right"> Question:</td> <td> <asp:Literal ID="Question" ></asp:Literal> </td> </tr> <tr> <td align="right"> <asp:Label ID="AnswerLabel" AssociatedControlID="Answer">Answer:</asp:Label></td> <td> <asp:TextBox ID="Answer" ></asp:TextBox> <asp:RequiredFieldValidator ID="AnswerRequired" ControlToValidate="Answer" ErrorMessage="Answer is required." ToolTip="Answer is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </QuestionTemplate>
<QuestionTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Identity Confirmation</td> </tr> <tr> <td align="center" colspan="2"> Answer the following question to receive your password.</td> </tr> <tr> <td align="right"> User Name:</td> <td> <asp:Literal ID="UserName" ></asp:Literal> </td> </tr> <tr> <td align="right"> Question:</td> <td> <asp:Literal ID="Question" ></asp:Literal> </td> </tr> <tr> <td align="right"> <asp:Label ID="AnswerLabel" AssociatedControlID="Answer">Answer:</asp:Label></td> <td> <asp:TextBox ID="Answer" ></asp:TextBox> <asp:RequiredFieldValidator ID="AnswerRequired" ControlToValidate="Answer" ErrorMessage="Answer is required." ToolTip="Answer is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </QuestionTemplate>
Creare un modello SuccessTemplate per specificare il codice e i controlli visualizzati quando l'utente recupera correttamente la password.
Nell'esempio di codice riportato di seguito è indicato il codice per un controllo PasswordRecovery con un modello SuccessTemplate definito.
Nota sulla sicurezza: L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script > </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <meta http-equiv="Content-Type" content="text/html" /> <title>PasswordRecovery All Templates Sample</title> </head> <body> <form id="form1" > <div title="All Templates Sample"> <asp:PasswordRecovery ID="PasswordRecovery1" > <QuestionTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Identity Confirmation</td> </tr> <tr> <td align="center" colspan="2"> Answer the following question to receive your password.</td> </tr> <tr> <td align="right"> User Name:</td> <td> <asp:Literal ID="UserName" ></asp:Literal> </td> </tr> <tr> <td align="right"> Question:</td> <td> <asp:Literal ID="Question" ></asp:Literal> </td> </tr> <tr> <td align="right"> <asp:Label ID="AnswerLabel" AssociatedControlID="Answer">Answer:</asp:Label></td> <td> <asp:TextBox ID="Answer" ></asp:TextBox> <asp:RequiredFieldValidator ID="AnswerRequired" ControlToValidate="Answer" ErrorMessage="Answer is required." ToolTip="Answer is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </QuestionTemplate> <UserNameTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Forgot Your Password?</td> </tr> <tr> <td align="center" colspan="2"> Enter your User Name to receive your password.</td> </tr> <tr> <td align="right"> <asp:Label ID="UserNameLabel" AssociatedControlID="UserName">User Name:</asp:Label></td> <td> <asp:TextBox ID="UserName" ></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </UserNameTemplate> <SuccessTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td> Your password has been sent to you.</td> </tr> </table> </td> </tr> </table> </SuccessTemplate> </asp:PasswordRecovery> </div> </form> </body> </html>
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script > </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <title>Password Recovery All Templates Sample</title> </head> <body> <form id="form1" > <div title="All Templates Sample"> <asp:PasswordRecovery ID="PasswordRecovery1" > <QuestionTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Identity Confirmation</td> </tr> <tr> <td align="center" colspan="2"> Answer the following question to receive your password.</td> </tr> <tr> <td align="right"> User Name:</td> <td> <asp:Literal ID="UserName" ></asp:Literal> </td> </tr> <tr> <td align="right"> Question:</td> <td> <asp:Literal ID="Question" ></asp:Literal> </td> </tr> <tr> <td align="right"> <asp:Label ID="AnswerLabel" AssociatedControlID="Answer">Answer:</asp:Label></td> <td> <asp:TextBox ID="Answer" ></asp:TextBox> <asp:RequiredFieldValidator ID="AnswerRequired" ControlToValidate="Answer" ErrorMessage="Answer is required." ToolTip="Answer is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </QuestionTemplate> <UserNameTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td align="center" colspan="2"> Forgot Your Password?</td> </tr> <tr> <td align="center" colspan="2"> Enter your User Name to receive your password.</td> </tr> <tr> <td align="right"> <asp:Label ID="UserNameLabel" AssociatedControlID="UserName">User Name:</asp:Label></td> <td> <asp:TextBox ID="UserName" ></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="PasswordRecovery1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2" style="color: red"> <asp:Literal ID="FailureText" EnableViewState="False"></asp:Literal> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="SubmitButton" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" /> </td> </tr> </table> </td> </tr> </table> </UserNameTemplate> <SuccessTemplate> <table border="0" cellpadding="1"> <tr> <td> <table border="0" cellpadding="0"> <tr> <td> Your password has been sent to you.</td> </tr> </table> </td> </tr> </table> </SuccessTemplate> </asp:PasswordRecovery> </div> </form> </body> </html>
Vedere anche
Concetti
Personalizzazione dell'aspetto dei controlli di accesso ASP.NET