PasswordRecovery.UserNameTemplate プロパティ

定義

PasswordRecovery コントロールのユーザー名ビューを表示するために使用するテンプレートを取得または設定します。Gets or sets the template used to display the UserName view of the PasswordRecovery control.

public:
 virtual property System::Web::UI::ITemplate ^ UserNameTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.PasswordRecovery))]
public virtual System.Web.UI.ITemplate UserNameTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.PasswordRecovery))>]
member this.UserNameTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property UserNameTemplate As ITemplate

プロパティ値

ITemplate

ユーザー名ビューに ITemplate コントロールを表示するためのテンプレートを格納している PasswordRecoveryAn ITemplate that contains the template for displaying the PasswordRecovery control in UserName view. 既定では、 nullです。The default is null.

属性

次のコード例では、プロパティを使用して、 UserNameTemplate ユーザーが自分の PasswordRecovery ログイン情報を含むドメインを選択できるようにするコントロールのユーザー名ビューのテンプレートを定義します。The following code example uses the UserNameTemplate property to define a template for the UserName view of the PasswordRecovery control that enables the user to choose the domain that contains his or her login information.

重要

この例には、セキュリティ上の脅威となる可能性のあるユーザー入力を受け付けるテキストボックスが含まれています。This example contains a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

<%@ 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"> 

    void PasswordRecovery1_VerifyingUser(Object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
    {
          DropDownList provider = ((DropDownList)PasswordRecovery1.FindControl("LoginProvider"));

        PasswordRecovery1.MembershipProvider = provider.SelectedValue;
        if (PasswordRecovery1.MembershipProvider != "Default")
        {
          PasswordRecovery1.UserName = String.Format("{0}\\{1}",
            PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName);    
        }         

    }
    
    void PasswordRecovery1_VerifyingAnswer(Object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
    {
        PasswordRecovery1.UserName = String.Format("{0}\\{1}",
          PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName);
    }  
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser"
        onverifyinganswer="PasswordRecovery1_VerifyingAnswer">
        <usernametemplate>
          <table border="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>Log in domain:</td>
              <td>
                <asp:dropdownlist id="LoginProvider" runat="server">
                  <asp:listitem value="Default">Default</asp:listitem>
                  <asp:listitem value="Administration">Administration</asp:listitem>
                  <asp:listitem value="Editorial">Editorial</asp:listitem>
                  <asp:listitem value="Finance">Finance</asp:listitem>
                  <asp:listitem value="Marketing">Marketing</asp:listitem>
                </asp:dropdownlist>
              </td>
            </tr>
            <tr>
              <td align="Right">User Name:</td>
              <td>
                <asp:textbox runat="server" id="UserName"></asp:textbox>
                <asp:requiredfieldvalidator runat="server" 
                  controltovalidate="UserName" 
                  errormessage="User Name." 
                  id="UserNameRequired">
                  *
                </asp:requiredfieldvalidator>
              </td>
            </tr>
            <tr>
              <td align="Right" colspan="2">
                <asp:button runat="server" 
                  commandname="Submit" 
                  text="Submit" 
                  id="Button">
                </asp:button>
              </td>
            </tr>
            <tr>
              <td colspan="2" style="color:Red;">
                <asp:literal runat="server" id="FailureText"></asp:literal>
              </td>
            </tr>
          </table>
        </usernametemplate>
      </asp:passwordrecovery>
    </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"> 
  Sub PasswordRecovery1_VerifyingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
  
      Dim provider as DropDownList
      provider = CType(PasswordRecovery1.FindControl("LoginProvider"),DropDownList)
    PasswordRecovery1.MembershipProvider = provider.SelectedValue
    
        If PasswordRecovery1.MembershipProvider <> "Default" Then
          PasswordRecovery1.UserName = String.Format("{1}\\{0}", _
            PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName)
        End If
        
    End Sub
    
    Sub PasswordRecovery1_VerifyingAnswer(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
    
      PasswordRecovery1.UserName = String.Format("{1}\\{0}", _
        PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName)
            
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser" 
        onverifyinganswer="PasswordRecovery1_VerifyingAnswer">
          <usernametemplate>
            <table border="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>Log in domain:</td>
                <td>
                  <asp:dropdownlist id="LoginProvider" runat="server">
                    <asp:listitem value="Default">Default</asp:listitem>
                    <asp:listitem value="Administration">Administration</asp:listitem>
                    <asp:listitem value="Editorial">Editorial</asp:listitem>
                    <asp:listitem value="Finance">Finance</asp:listitem>
                    <asp:listitem value="Marketing">Marketing</asp:listitem>
                  </asp:dropdownlist>
                </td>
              </tr>
              <tr>
                <td align="Right">User Name:</td>
                <td>
                  <asp:textbox runat="server" 
                    id="UserName">
                  </asp:textbox>
                  <asp:requiredfieldvalidator runat="server" 
                    controltovalidate="UserName" 
                    errormessage="User Name." 
                    id="UserNameRequired">
                    *
                  </asp:requiredfieldvalidator>
                </td>
              </tr>
              <tr>
                <td align="Right" colspan="2">
                  <asp:button runat="server" 
                    commandname="Submit" 
                    text="Submit" 
                    id="Button">
                  </asp:button>
                </td>
              </tr>
              <tr>
                <td colspan="2" style="color:Red;">
                  <asp:literal runat="server" id="FailureText"></asp:literal>
                </td>
              </tr>
            </table>
          </usernametemplate>
      </asp:passwordrecovery>
    </form>
  </body>
</html>

注釈

プロパティには、 UserNameTemplate ユーザー名ビューでのコントロールの外観を定義するテンプレートが含まれてい PasswordRecovery ます。The UserNameTemplate property contains the template that defines the appearance of the PasswordRecovery control in UserName view.

次の表は、ユーザー名ビューテンプレートで使用される必須およびオプションのコントロールを示しています。The following table lists the required and optional controls used in the UserName view template.

ID またはコマンド名ID or Command name コントロール型Control type 必須/省略可能Required/optional
UserName を実装するすべてのコントロール IEditableTextControlAny control that implements IEditableTextControl. 省略可能Optional
Submit イベントバブルを発生させるコントロール。Any control that causes event bubbling. 省略可能Optional

Submit コントロールは、、、などのイベントバブルを発生させる任意のコントロールにすることができ Button LinkButton ImageButton ます。The Submit control can be any control that causes event bubbling, such as Button, LinkButton, or ImageButton. コントロールの CommandName プロパティを "Submit" に設定する必要があります。The control's CommandName property must be set to "Submit".

PasswordRecovery HttpException ユーザー名ビューに必要なコントロールが含まれていない場合、コントロールは例外をスローします。The PasswordRecovery control throws an HttpException exception if the UserName view does not contain the required controls. 間違った型のコントロールにオプションのコントロール ID を指定すると、例外はスローされません。ただし、コントロールはコントロールによって無視され PasswordRecovery ます。No exception is thrown if you give an optional control ID to a control of the wrong type; however, the control is subsequently ignored by the PasswordRecovery control.

テンプレートを使用してユーザー名ビューの外観を定義する場合、コントロールの動作に影響するのは次のプロパティだけです。When you use a template to define the appearance of the UserName view, only the following properties affect the behavior of the control:

コントロールのユーザー名ビューにテンプレートを使用すると、他のすべてのプロパティは非アクティブに PasswordRecovery なります。All other properties are inactive when you use a template for the UserName view of the PasswordRecovery control.

適用対象

こちらもご覧ください