Asp.net mvc Mvc中OnCreatingUser的等价物是什么?如何使用它

Asp.net mvc Mvc中OnCreatingUser的等价物是什么?如何使用它,asp.net-mvc,membership,Asp.net Mvc,Membership,在我的Web表单应用程序中,我一直在连接Asp.net成员注册控件事件“OnCreatingUser”,以检查用户名或电子邮件是否存在,或者用户名是否合适 Mvc中的等效方法是什么?它是如何使用的? 这是我的一个web表单应用程序的部分方法 public void cuwRegister_CreatingUser(object sender, LoginCancelEventArgs e) { TextBox textBox = (TextBox)cuwRegister.CreateUser

在我的Web表单应用程序中,我一直在连接Asp.net成员注册控件事件“OnCreatingUser”,以检查用户名或电子邮件是否存在,或者用户名是否合适

Mvc中的等效方法是什么?它是如何使用的?

这是我的一个web表单应用程序的部分方法

public void cuwRegister_CreatingUser(object sender, LoginCancelEventArgs e)
{
  TextBox textBox = (TextBox)cuwRegister.CreateUserStep.ContentTemplateContainer.FindControl("txtCaptchaTextBox");
    if (textBox.Text != Session["CaptchaImageText"].ToString())
    {
        // Should not proceed. Go back to Register.aspx and let visitor try again.
        e.Cancel = true;
    }
   TextBox txtUserName = (TextBox)cuwRegister.CreateUserStep.ContentTemplateContainer.FindControl("UserName");
    if (IsUserNameObscene(txtUserName.Text) || (!IsUserNameValid(txtUserName.Text.Trim())))
    {
        DisplayMessage("Please choose a different User name.", "alert");
        e.Cancel = true;
    }

    if (txtUserName.Text.Length < 4)
    {
        DisplayMessage("Please choose a User name more than 4 characters.", "alert");
        e.Cancel = true;
    }
}

private void DisplayMessage(string msg, string css)
{
    // Display message in label in page
}
public void-cuwRegister\u CreatingUser(对象发送方,LoginCancelEventArgs e)
{
TextBox TextBox=(TextBox)cuwRegister.CreateUserStep.ContentTemplateContainer.FindControl(“txtCaptchaTextBox”);
if(textBox.Text!=会话[“CaptchaImageText”].ToString())
{
//不应继续。请返回Register.aspx,让访问者重试。
e、 取消=真;
}
TextBox txtUserName=(TextBox)cuwRegister.CreateUserStep.ContentTemplateContainer.FindControl(“用户名”);
如果(IsUserName淫秽(txtUserName.Text)| |(!IsUserName有效(txtUserName.Text.Trim()))
{
DisplayMessage(“请选择其他用户名。”,“警报”);
e、 取消=真;
}
如果(txtUserName.Text.Length<4)
{
DisplayMessage(“请选择一个超过4个字符的用户名。”,“警报”);
e、 取消=真;
}
}
私有void DisplayMessage(字符串消息、字符串css)
{
//在页面的标签中显示消息
}

我认为您不能将ASP.NET 2.0成员资格web服务器控件与ASP.NET MVC框架一起使用,因为它们依赖于MVC不支持的WebForms回发模型


您可以编写自己的控制器和视图来提供此功能。或者,您可能想看看。

我不是在Mvc中使用成员资格控件,而是想知道如何在Mvc中验证用户名和电子邮件地址。我上面的代码显示了我如何在Web表单中实现它。我在AccountController.cs中找到了ValidateRegistration,是否可以在此处完成?@Picflight:是的,如果您使用的是默认的AccountController,则可以使用此方法验证用户的注册详细信息。但是,如果您不喜欢“开箱即用”的控制器和视图,您可以自由编写自己的控制器和视图来处理成员资格功能。