You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC表单无法获取输入值及提交404问题求助

问题修复方案

1. 解决404页面找不到错误

你的表单asp-controller属性配置错误,AddClassDB是HomeController中的Action方法,并非控制器名称,正确的控制器名称为Home。修改表单标签如下:

<form method="post" asp-controller="Home" asp-action="AddClassDB">

2. 解决无法接收用户输入值的问题

核心问题及修复:

  • 表单输入框缺少name属性:ASP.NET Core的模型绑定依赖name属性与模型类的属性名匹配才能完成赋值。假设你的ClassTable类中有一个名为ClassName的属性,给input添加对应name:
<input type="text" class="form-control" id="classNameInput" name="ClassName">
  • 原HTML存在结构错误(多余的div闭合标签),修正后的完整表单代码:
@{ 
    ViewData["Title"] = "Class' Management";
}

<br />
<h2>Add Class</h2>

<form method="post" asp-controller="Home" asp-action="AddClassDB">
    <div class="container">
        <div class="form-group">
            <label for="classNameInput">Class Name</label>
            <input type="text" class="form-control" id="classNameInput" name="ClassName">
        </div>
    </div>
    <br/>
    <div class="float-right">
        <button type="submit" class="btn btn-success">Add</button>
    </div>
</form>
<br />
<h2>Manage Class</h2>

控制器代码修正

给AddClassDB方法添加[HttpPost]特性,明确它处理POST请求,避免请求类型不匹配:

[HttpPost]
public ActionResult AddClassDB(ClassTable _table)
{
    // 此处可添加SQL保存逻辑,比如使用EF Core操作数据库
    Console.WriteLine(_table.ClassName); // 现在能正确获取输入值
    return RedirectToAction("ManageClass"); // 提交后重定向回管理页面,防止重复提交
}

额外补充

  • 确保ClassTable类的属性名与input的name属性完全一致(大小写敏感),例如:
public class ClassTable
{
    public int Id { get; set; }
    public string ClassName { get; set; }
}
  • 若要实现SQL保存,需配置数据库上下文(DbContext),通过EF Core的DbSet<ClassTable>执行添加操作:
// 假设你已定义StudentDbContext类
private readonly StudentDbContext _dbContext;

// 构造函数注入上下文
public HomeController(ILogger<HomeController> logger, StudentDbContext dbContext)
{
    _logger = logger;
    _dbContext = dbContext;
}

[HttpPost]
public async Task<ActionResult> AddClassDB(ClassTable _table)
{
    if(ModelState.IsValid)
    {
        _dbContext.ClassTables.Add(_table);
        await _dbContext.SaveChangesAsync();
        return RedirectToAction("ManageClass");
    }
    return View();
}

内容的提问来源于stack exchange,提问作者Emir Bolat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:36:08