繁体   English   中英

如何使用Asp.net MVC 5在基于令牌的身份验证Web API中使用提交按钮注册登录?

[英]How to register login using submit button in token based authentication web api using Asp.net MVC 5?

我是Asp.net MVC的新手

我正在尝试进行注册 ,我的参数是电子邮件,密码,确认密码

我不想使用ajax。 我想使用submit button执行。 我在部分视图上尝试了以下代码

@using ProTest.Models
@model RegisterBindingModel

@Html.BeginForm("Register", "Account"){ 
    @Html.TextBoxFor(si => si.Email, new {@class = "form-control",@id = "txtEmail" })
    @Html.TextBoxFor(si => si.Password, new { @class = "form-control", @id = "txtPassword", @type="password" })
    @Html.TextBoxFor(si => si.ConfirmPassword, new { @class = "form-control", @id = "txtConfirmPassword", @type = "password" })

    <input type="submit" class="btn btn-sm btn-primary btn-rounded" value="Signup" id="btnSignup" />
}

当使用Web api创建项目MVC时,将创建以下方法,我可以使用Ajax注册。 但是我不能通过提交按钮来做到这一点。 我不知道我必须对此做出什么改变

的AccountController

// POST api/Account/Register
[AllowAnonymous]
[Route("Register")]
public async Task<IHttpActionResult> Register(RegisterBindingModel model)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };

    IdentityResult result = await UserManager.CreateAsync(user, model.Password);

    if (!result.Succeeded)
    {
        return GetErrorResult(result);
    }

    return Ok();
}

您可以像这样在Html.BeginForm参数中进行更改,它在我这一方面工作得很好。

@using (Html.BeginForm("","api/Account/Register")) {
       @Html.TextBoxFor(si => si.Email, new { @class = "form-control", @id = "txtEmail" })
       @Html.TextBoxFor(si => si.Password, new { @class = "form-control", @id = "txtPassword", @type = "password" })
       @Html.TextBoxFor(si => si.ConfirmPassword, new { @class = "form-control", @id = "txtConfirmPassword", @type = "password" })

        <input type = "submit" class="btn btn-sm btn-primary btn-rounded" value="Signup" id="btnSignup" />
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM