简体   繁体   English

在ASP.NET Core 2中提交表单,并收到错误消息“正在发送数据状态代码:404; 未找到”

[英]Submitting a form in ASP.NET Core 2 and getting an error “Sending Data Status Code: 404; Not Found”

I've tried submit a simple Form but I got this error: 我尝试提交一个简单的Form但出现此错误:

"Sending Data Status Code: 404; Not Found" “发送数据状态代码:404;未找到”

I've used ASP.NET Core 2 and I'm new in it! 我已经使用过ASP.NET Core 2 ,但我是新手!

How can I solve this problem? 我怎么解决这个问题?

a part of Startup class: Startup类的一部分:

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

a part of cshtml file: 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>

a part of CommentController class: CommentController类的一部分:

[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;
    }
}

I would recommend using asp-for attribute on textarea and use ViewModel class. 我建议在textarea上使用asp-for属性,并使用ViewModel类。
Also, fix Route attributes. 此外,修复Route属性。

Controller / Model 控制器/型号

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

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

cshtml 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>

在此处输入图片说明

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

相关问题 ASP.NET提交表单-状态代码302 - ASP.NET Submitting Form - Status Code 302 Found 获取状态:404,statusText:“未找到”,url ... 在 asp.net 中使用核心 webApi? - getting status: 404, statusText: “Not Found”, url … in asp.net using core webApi? 在webapi asp.net中,我遇到以下错误。,响应状态代码未指示成功404(未找到) - In webapi asp.net I am getting following error.,response status code does not indicate success 404 (not found) Asp.net 内核:如何通过 404 状态码获取错误页面中的原始路径 - Asp.net core: How to get original path in error page by 404 status code 错误:使用 Vue.js 在 ASP.NET Core 中请求失败,状态码为 404 - Error: Request failed with status code 404 in ASP.NET Core with Vue.js 将 asp.net core web api 部署到 aws elastic beanstalk 时出现错误 404 Not Found - Getting Error 404 Not Found when deployed asp.net core web api to aws elastic beanstalk 如何在 ASP.NET 核心中路由删除错误 404 未找到 - How to route in ASP.NET Core for deleting error 404 Not found Asp.Net Core我遇到404错误问题 - Asp.Net Core I'm getting 404 error problem 从表单asp.net核心获取数据 - Getting data from form asp.net core 提交带有结果数据的表单后如何将返回的数据绑定到 Telerik ASP.Net Core 网格 - How to bind returned data to a Telerik ASP.Net Core grid after submitting a form with resulted data
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM