默认的Asp.Net核心Web模板出错

din*_*tom 5 c# asp.net-core-2.0

任何人都可以解释为什么具有个人用户标识的默认Asp.Net Web应用程序模板在管理控制器中出现错误?

 [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> SendVerificationEmail(IndexViewModel model)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        var user = await _userManager.GetUserAsync(User);
        if (user == null)
        {
            throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
        }

        var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
        var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
        var email = user.Email;
        await _emailSender.SendEmailConfirmationAsync(email, callbackUrl);

        StatusMessage = "Verification email sent. Please check your email.";
        return RedirectToAction(nameof(Index));
    }
Run Code Online (Sandbox Code Playgroud)

在这个代码行中;

return View(model);
Run Code Online (Sandbox Code Playgroud)

视角下的红色波浪形的VS检查

视图为红色,因为没有SendVerificationEmail视图.这是正常的吗?这可以解决吗?

我可以指定一个路由到喜欢的视图

 if (!ModelState.IsValid)
 {
     return View(nameof(Index),model);
 }
Run Code Online (Sandbox Code Playgroud)

但这真的是Asp.Net团队打算从这里开始的吗?

din*_*tom 2

看起来,并且我向一些人展示过这可能是一个错误,他们也同意这一点。不确定如何报告,但考虑到模型是 IndexViewModel,我通过将返回结果路由到索引视图来修复它。

 if (!ModelState.IsValid)
 {
     return View(nameof(Index),model);
 }
Run Code Online (Sandbox Code Playgroud)

不确定这是否是 Asp.Net 默认应用程序团队打算重新路由的地方,但这就是我要进行的修复(kludge)。有更好的解决方案欢迎评论。