不会调用ASP.NET Core Identity post请求

时间:2016-11-17 12:28:18

标签: c# asp.net asp.net-core asp.net-identity asp.net-core-mvc

我在ASP.NET Core项目中使用ASP.NET Identity注册用户遇到了问题。

我现在只需更改ViewData [“Iets”]就可以让事情更简单,只是为了检查它是否有效,但是没有......

我的控制器:

public /*async Task<IActionResult>*/ IActionResult Register(RegisterViewModel model, string ReturnUrl = null)
        {
            ViewData["Iets"] = "Gelukt!";
            return View();

            //ViewData["ReturnUrl"] = ReturnUrl;

            //if (ModelState.IsValid)
            //{
            //    var user = new ApplicationUser { Email = model.Email };
            //    var result = await _UserManager.CreateAsync(user, model.Password);

            //    if (result.Succeeded)
            //    {
            //        await _SignInManager.SignInAsync(user, false);
            //        _Logger.LogInformation(3, "User: {0}, has created a new account.", model.Email);

            //        return RedirectToLocal(ReturnUrl);
            //    }

            //    AddErrors(result);
            //}

            //// If we got this far, something failed, redisplay form
            //return View(model);
        }

我的观点:

@model Project_Dojo.Models.AccountViewModels.RegisterViewModel

@ViewData["Iets"]

<form asp-controller="Account" asp-action="Register" method="post">
    <button type="submit">Button</button>
</form>

我注意到的一件事是我的标签如asp-controller呈红色而不是紫色,正如我在其他视图中看到的那样。

当我按下按钮时会发生什么,它只是转到localhost/Account/Register并返回一个空白页而不是我的布局页面上有ViewData

我希望有人能解决这个问题。

3 个答案:

答案 0 :(得分:1)

尝试将[HttpPost]作为操作的属性。

答案 1 :(得分:0)

  

我注意到的一件事是,像我在其他视图中看到的那样,像asp控制器这样的标签会变成红色而不是紫色。

您的观点是Register.cshtml吗?如果它不是,如果它类似于Register.html那么它就不会表现为MVC视图。如果文件扩展名不是cshtml,也可以尝试更正。

答案 2 :(得分:0)

我忘了在我的_ViewImports.cshtml中添加HtmlHelpers,这就是解决方案。