次の方法で共有


方法 : PasswordRecovery コントロールをカスタマイズする

更新 : 2007 年 11 月

PasswordRecovery コントロールは次の方法でカスタマイズできます。

  • 表示されたテンプレートを編集し、コントロールのユーザー インターフェイス (UI) を変更します。

  • ASP.NET テーマをコントロールに適用します。詳細については、「ASP.NET のテーマとスキンの概要」を参照してください。

  • コントロールのプロパティ (QuestionLabelTextInstructionTextStyle など) を使用して、その外観を変更します。詳細については、クラス ライブラリ リファレンスの PasswordRecovery コントロールのプロパティを参照してください。

ここでは、テンプレートを使用して System.Web.UI.WebControls.PasswordRecovery コントロールをカスタマイズする方法について説明します。

PasswordRecovery テンプレートを編集するには

  1. 次のコード例に示すように、PasswordRecovery コントロールをページに追加します。

    <asp:PasswordRecovery ID="PasswordRecovery1" Runat="server">
    </asp:PasswordRecovery>
    
  2. スタイルを適用すると、PasswordRecovery コントロールの外観をカスタマイズできます。プロパティ (LabelStyle プロパティ、HyperLinkStyle プロパティ、TitleTextStyle プロパティなど) を使用して、目的のスタイルをテンプレートに適用します。

    PasswordRecovery コントロールの内容をカスタマイズするには、次の手順に進んで、PasswordRecovery コントロールで使用するテンプレートを変更します。

  3. 次のコード例に示すように、UserNameTemplate テンプレートを作成し、このコントロールが最初に表示されるときに表示するマークアップとコントロールを指定します。

    ms178341.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

    この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは HTML 要素が含まれていないことを検証します。詳細については、「スクリプトによる攻略の概要」を参照してください。

    <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" runat="server" AssociatedControlID="UserName">User Name:</asp:Label></td>
                <td>
                  <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right" colspan="2">
                  <asp:Button ID="SubmitButton" runat="server" 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" runat="server" AssociatedControlID="UserName">User Name:</asp:Label></td>
                <td>
                  <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right" colspan="2">
                  <asp:Button ID="SubmitButton" runat="server" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" />
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </UserNameTemplate>
    
  4. 次のコード例に示すように、QuestionTemplate テンプレートを作成し、このコントロールでユーザーにセキュリティ上の質問を表示するときに表示するマークアップとコントロールを指定します。

    ms178341.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

    この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは HTML 要素が含まれていないことを検証します。詳細については、「スクリプトによる攻略の概要」を参照してください。

    <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" runat="server"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right">
                  Question:</td>
                <td>
                  <asp:Literal ID="Question" runat="server"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right">
                  <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Answer:</asp:Label></td>
                <td>
                  <asp:TextBox ID="Answer" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right" colspan="2">
                  <asp:Button ID="SubmitButton" runat="server" 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" runat="server"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right">
                  Question:</td>
                <td>
                  <asp:Literal ID="Question" runat="server"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right">
                  <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Answer:</asp:Label></td>
                <td>
                  <asp:TextBox ID="Answer" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                </td>
              </tr>
              <tr>
                <td align="right" colspan="2">
                  <asp:Button ID="SubmitButton" runat="server" CommandName="Submit" Text="Submit" ValidationGroup="PasswordRecovery1" />
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </QuestionTemplate>
    
  5. SuccessTemplate テンプレートを作成し、ユーザーが正常にパスワードを取得したときに表示するマークアップとコントロールを指定します。

    SuccessTemplate テンプレートが定義された PasswordRecovery コントロールのマークアップのコード例を次に示します。

    ms178341.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

    この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは 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">
      <meta http-equiv="Content-Type" content="text/html" />
      <title>PasswordRecovery All Templates Sample</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div title="All Templates Sample">
          <asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
            <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" runat="server"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right">
                          Question:</td>
                        <td>
                          <asp:Literal ID="Question" runat="server"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right">
                          <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Answer:</asp:Label></td>
                        <td>
                          <asp:TextBox ID="Answer" runat="server"></asp:TextBox>
                          <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right" colspan="2">
                          <asp:Button ID="SubmitButton" runat="server" 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" runat="server" AssociatedControlID="UserName">User Name:</asp:Label></td>
                        <td>
                          <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                          <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right" colspan="2">
                          <asp:Button ID="SubmitButton" runat="server" 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 runat="server">
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Password Recovery All Templates Sample</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div title="All Templates Sample">
          <asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
            <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" runat="server"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right">
                          Question:</td>
                        <td>
                          <asp:Literal ID="Question" runat="server"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right">
                          <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Answer:</asp:Label></td>
                        <td>
                          <asp:TextBox ID="Answer" runat="server"></asp:TextBox>
                          <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right" colspan="2">
                          <asp:Button ID="SubmitButton" runat="server" 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" runat="server" AssociatedControlID="UserName">User Name:</asp:Label></td>
                        <td>
                          <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                          <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 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" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                      </tr>
                      <tr>
                        <td align="right" colspan="2">
                          <asp:Button ID="SubmitButton" runat="server" 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>
    

参照

概念

ASP.NET ログイン コントロールの外観のカスタマイズ

参照

ASP.NET ログイン コントロールの概要