在这里链接到项目 -> https://github.com/crumdev/hqbbq.git
我有一个简单的3页MVC网站,只有1个控制器。对于联系页面,我有一个小的3输入表格。以下是控制器方法:
[Route("contact/")]
public IActionResult Contact()
{
return View();
}
[HttpPost]
public IActionResult Contact(string name, string email, string message)
{
ViewBag.Name = name;
ViewBag.Email = email;
ViewBag.Message = message;
return View();
}
当我在HttpPost的Contact方法中设置断点并提交表单时,它从未触发断点,而是使用常规方法,并仅返回视图。我已经尝试将表单简化为只包含名称字段,并只捕获该字段,但它并没有进入POST方法。我给普通的Contact方法添加了[HttpGet]属性,以便它仅用于GET请求,但当我提交表单时,它完全绕过我的控制器,并返回一个空白的Dev异常页面,屏幕上只有“Hello World!”。我已经阅读了文档并遵循了teamtreehouse.com的ASP.Net常规教程,但无法理解为什么它会出现这种情况。
编辑: 这是提交POST的页面代码。我只是使用一个普通的HTML表单和POST方法来提交数据。 https://github.com/crumdev/hqbbq/blob/master/HQ-BBQ/Views/Home/contact.cshtml