在 ASP.NET 核心 2 中提交表单并出现错误 "Sending Data Status Code: 404; Not Found"

Submitting a form in ASP.NET Core 2 and getting an error "Sending Data Status Code: 404; Not Found"

我试过提交一个简单的 Form 但我收到了这个错误:

"Sending Data Status Code: 404; Not Found"

我用过 ASP.NET Core 2,我是新手!

我该如何解决这个问题?

启动的一部分class:

 routes.MapRoute(
                name: "ForTest",
                template: "{controller}/{action}/{des}",
                defaults: new { controller = "Comment", action = "Test", des = "no comment!" }
            );

cshtml文件的一部分:

<form method="post" asp-controller="Comment" asp-action="Test"  enctype="multipart/form-data">
    <div class="form-group">
      <textarea id="des" class="form-control" rows="3"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

CommentController 的一部分 class:

[Route("[controller]")]
public class CommentController : Controller
{
    private readonly ApplicationDbContext _context;

    public CommentController(ApplicationDbContext context)
    {
        _context = context;
    }

    [HttpPost]
    [Route("Test/{des}")]
    [ValidateAntiForgeryToken]
    public IActionResult Test(string des)
    {
        return null;
    }
}

我建议在 textarea 上使用 asp-for 属性并使用 ViewModel class。
另外,修复 Route 属性。

控制器/型号

public class TestViewModel
{
    public string des { get; set; }
}

public class CommentController : Controller
{
    [HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult Test(TestViewModel testViewModel)
    {
        return Ok(testViewModel.des);
    }
}

cshtml

@using @*Set proper namespace for TestViewModel*@
@model TestViewModel

<form method="post" asp-controller="Comment" asp-action="Test" enctype="multipart/form-data">
    <div class="form-group">
        <textarea asp-for="des" rows="3"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>