为mvc创建寄存器方法

时间:2016-04-19 09:28:42

标签: asp.net-mvc controller

为注册页面制作了一个小前端,不知道如何在mongodb中实际注册用户。编写CRUD方法,问题是如何从视图的文本框中获取参数并将其一直解析到数据层?这是我提交注册表单的按钮:

studentinfo

用户控制器暂时为空。不确定在MVC中我是否可以使用onClick =""按钮的方法,可能不是,因为文件后面没有代码。起初我以为我应该能够以某种方式调用Padding.Click()或其他任何方法,但它似乎并不是一种正确的方法。

2 个答案:

答案 0 :(得分:2)

使用强类型数据绑定将数据从视图发布到控制器,如:

<强> POCO

 public class RegisterUser
 {
    [Required]
    [EmailAddress]
    [Display(Name = "Email")]
    public string Email { get; set; }

    [Required]
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Confirm password")]
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
    public string ConfirmPassword { get; set; }
}

<强> Register.cstml

<form asp-controller="Account" asp-action="Register" method="post" class="form-horizontal" role="form">
<h4>Create a new account.</h4>
<hr />
<div asp-validation-summary="ValidationSummary.All" class="text-danger"></div>
<div class="form-group">
    <label asp-for="Email" class="col-md-2 control-label"></label>
    <div class="col-md-10">
        <input asp-for="Email" class="form-control" />
        <span asp-validation-for="Email" class="text-danger"></span>
    </div>
</div>
<div class="form-group">
    <label asp-for="Password" class="col-md-2 control-label"></label>
    <div class="col-md-10">
        <input asp-for="Password" class="form-control" />
        <span asp-validation-for="Password" class="text-danger"></span>
    </div>
</div>
<div class="form-group">
    <label asp-for="ConfirmPassword" class="col-md-2 control-label"></label>
    <div class="col-md-10">
        <input asp-for="ConfirmPassword" class="form-control" />
        <span asp-validation-for="ConfirmPassword" class="text-danger"></span>
    </div>
</div>
<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <button type="submit" class="btn btn-default">Register</button>
    </div>
</div>

控制人员的行动方法

    public IActionResult Register(RegisterUser model)
    {
            //send data to data layer and then can be inserted into mongodb or may be in some other databases
    }

答案 1 :(得分:0)

我不知道你想要实现什么目标。但首先让我们更正你的html /

<input ="Submit" id="Padding" value="Sign up" class="btn btn-primary" />

应该是

<input type="Submit" id="Padding" value="Sign up" class="btn btn-primary" />

您缺少按钮中的type属性。现在你的HTML是正确的。

下一步:您可以在按钮上使用onclick(),如下所示:

<input type="Submit" id="Padding" value="Sign up" onclick="Your_Javascript_Function()" class="btn btn-primary" />