แก้ไข

แชร์ผ่าน


CreateUserWizard.Question Property

Definition

Gets or sets the password recovery confirmation question entered by the user.

public:
 virtual property System::String ^ Question { System::String ^ get(); void set(System::String ^ value); };
[System.Web.UI.Themeable(false)]
public virtual string Question { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.Question : string with get, set
Public Overridable Property Question As String

Property Value

The password recovery confirmation question entered by the user. The default value is an empty string ("").

Attributes

Examples

The following code example modifies the email message in the SendingMail event to include the user's password recovery confirmation question in the message sent to new users.

<%@ Page Language="C#"%>
<%@ Import namespace="Samples.AspNet.CS.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Page_Load(object sender, EventArgs e) {    
    Placeholder1.Controls.Add(new CustomCreateUserWizard());
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>CreateUserWizard.OnSendingMail sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:placeholder id="Placeholder1" runat="server" >
      </asp:placeholder>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB"%>
<%@ Import namespace="Samples.AspNet.VB.Controls" %>

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

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    Dim createUser As New CustomCreateUserWizard
    Placeholder1.Controls.Add(createUser)
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CreateUserWizard.OnSendingMail sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:placeholder id="Placeholder1" runat="server" >
      </asp:placeholder>
    </div>
    </form>
</body>
</html>
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls {

[AspNetHostingPermission (System.Security.Permissions.SecurityAction.Demand,
  Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (System.Security.Permissions.SecurityAction.InheritanceDemand,
  Level = AspNetHostingPermissionLevel.Minimal)]
  public class CustomCreateUserWizard : CreateUserWizard
  {
    public CustomCreateUserWizard()
    {
      this.MailDefinition.BodyFileName = "MailFile.txt";
      this.MailDefinition.From = "userAdmin@your.site.name.here";
    }
  
    protected override void OnSendingMail(MailMessageEventArgs e) 
    {
      e.Message.Subject = "New Web site user.";
    
      // Replace placeholder text in message body with information
      //  provided by the user.
      e.Message.Body.Replace("<%PasswordQuestion%>",this.Question);
      e.Message.Body.Replace("<%PasswordAnswer%>", this.Answer);
    
      base.OnSendingMail(e);
    }
  }
}
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
  <AspNetHostingPermission(System.Security.Permissions.SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(System.Security.Permissions.SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class CustomCreateUserWizard
    Inherits CreateUserWizard
    
    Public Sub New()
      Me.MailDefinition.BodyFileName = "MailFile.txt"
      Me.MailDefinition.From = "userAdmin@your.site.name.here"
    End Sub
    
    Protected Overloads Sub OnSendingMail(ByVal e As MailMessageEventArgs)
      e.Message.Subject = "New user on Web site."
      ' Replace placeholder text in message body with information
      '  provided by the user.
      e.Message.Body.Replace("<%PasswordQuestion%>", Me.Question)
      e.Message.Body.Replace("<%PasswordAnswer%>", Me.Answer)
      
      MyBase.OnSendingMail(e)
    End Sub
  End Class
End Namespace

Remarks

The membership provider specified in the MembershipProvider property will determine whether the Question and Answer text boxes are displayed at run time. Each text box displayed on the CreateUserWizard control has a RequiredFieldValidator associated with it.

This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

The value of this property, when set, can be saved automatically to a resource file by using a designer tool. For more information, see LocalizableAttribute and Globalization and Localization.

Applies to

See also