我在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
。
我希望有人能解决这个问题。
答案 0 :(得分:1)
尝试将[HttpPost]
作为操作的属性。
答案 1 :(得分:0)
我注意到的一件事是,像我在其他视图中看到的那样,像asp控制器这样的标签会变成红色而不是紫色。
您的观点是Register.cshtml
吗?如果它不是,如果它类似于Register.html
那么它就不会表现为MVC视图。如果文件扩展名不是cshtml
,也可以尝试更正。
答案 2 :(得分:0)
我忘了在我的_ViewImports.cshtml中添加HtmlHelpers,这就是解决方案。