ASP.NET 2.0 MemberShip 自定义CreateUser

<%@ Page Language= "C#" %>
<%@ Import Namespace= "System.Web.Security" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat= "server">

public void CreateUser_OnClick(object sender, EventArgs args)
{
  // Create new user and retrieve create status result.

  MembershipCreateStatus status;
  string passwordQuestion = "";
  string passwordAnswer = "";

  if (Membership.RequiresQuestionAndAnswer)
  {
    passwordQuestion = PasswordQuestionTextbox.Text;
    passwordAnswer = PasswordAnswerTextbox.Text;
  }

  try
  {
    MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text,
                                                   EmailTextbox.Text, passwordQuestion,
                                                   passwordAnswer, true, out status);
    if (newUser == null)
    {
      Msg.Text = GetErrorMessage(status);
    }
    else
    {
      Response.Redirect( "login.aspx");
    }
  }
  catch
  {
    Msg.Text = "An exception occurred creating the user.";
  }
}

public string GetErrorMessage(MembershipCreateStatus status)
{
   switch (status)
   {
      case MembershipCreateStatus.DuplicateUserName:
        return "Username already exists. Please enter a different user name.";

      case MembershipCreateStatus.DuplicateEmail:
        return "A username for that e-mail address already exists. Please enter a different e-mail address.";

      case MembershipCreateStatus.InvalidPassword:
        return "The password provided is invalid. Please enter a valid password value.";

      case MembershipCreateStatus.InvalidEmail:
        return "The e-mail address provided is invalid. Please check the value and try again.";

      case MembershipCreateStatus.InvalidAnswer:
        return "The password retrieval answer provided is invalid. Please check the value and try again.";

      case MembershipCreateStatus.InvalidQuestion:
        return "The password retrieval question provided is invalid. Please check the value and try again.";

      case MembershipCreateStatus.InvalidUserName:
        return "The user name provided is invalid. Please check the value and try again.";

      case MembershipCreateStatus.ProviderError:
        return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";

      case MembershipCreateStatus.UserRejected:
        return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";

      default:
        return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
   }
}

</script>

<html  >
<head>
<title>Create User</title>
</head>
<body>

<form id= "form1" runat= "server">
  <h3>Create New User</h3>

  <asp:Label id= "Msg" ForeColor= "maroon" runat= "server" /><br />

  <table cellpadding= "3" border= "0">
    <tr>
      <td>Username:</td>
      <td><asp:Textbox id= "UsernameTextbox" runat= "server" /></td>
      <td><asp:RequiredFieldValidator id= "UsernameRequiredValidator" runat= "server"
                                      ControlToValidate= "UserNameTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><asp:Textbox id= "PasswordTextbox" runat= "server" TextMode= "Password" /></td>
      <td><asp:RequiredFieldValidator id= "PasswordRequiredValidator" runat= "server"
                                      ControlToValidate= "PasswordTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" /></td>
    </tr>
    <tr>
      <td>Confirm Password:</td>
      <td><asp:Textbox id= "PasswordConfirmTextbox" runat= "server" TextMode= "Password" /></td>
      <td><asp:RequiredFieldValidator id= "PasswordConfirmRequiredValidator" runat= "server"
                                      ControlToValidate= "PasswordConfirmTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" />
          <asp:CompareValidator id= "PasswordConfirmCompareValidator" runat= "server"
                                      ControlToValidate= "PasswordConfirmTextbox" ForeColor= "red"
                                      Display= "Static" ControlToCompare= "PasswordTextBox"
                                      ErrorMessage= "Confirm password must match password." />
      </td>
    </tr>
    <tr>
      <td>Email Address:</td>
      <td><asp:Textbox id= "EmailTextbox" runat= "server" /></td>
      <td><asp:RequiredFieldValidator id= "EmailRequiredValidator" runat= "server"
                                      ControlToValidate= "EmailTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" /></td>
    </tr>


<% if (Membership.RequiresQuestionAndAnswer) { %>

    <tr>
      <td>Password Question:</td>
      <td><asp:Textbox id= "PasswordQuestionTextbox" runat= "server" /></td>
      <td><asp:RequiredFieldValidator id= "PasswordQuestionRequiredValidator" runat= "server"
                                      ControlToValidate= "PasswordQuestionTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" /></td>
    </tr>
    <tr>
      <td>Password Answer:</td>
      <td><asp:Textbox id= "PasswordAnswerTextbox" runat= "server" /></td>
      <td><asp:RequiredFieldValidator id= "PasswordAnswerRequiredValidator" runat= "server"
                                      ControlToValidate= "PasswordAnswerTextbox" ForeColor= "red"
                                      Display= "Static" ErrorMessage= "Required" /></td>
    </tr>

<% } %>


    <tr>
      <td></td>
      <td><asp:Button id= "CreateUserButton" Text= "Create User" OnClick= "CreateUser_OnClick" runat= "server" /></td>
    </tr>
  </table>
</form>

</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值