【发布时间】:2017-07-14 19:20:02
【问题描述】:
链接到这里 -> https://github.com/crumdev/hqbbq.git
我有一个带有 1 个控制器的简单 3 页 MVC 网站。对于联系页面,我有一个小的 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 请求,当我提交表单时,它会完全绕过我的控制器并返回除“Hello World!”之外为空白的 Dev 异常页面。屏幕上。我已经通读了文档并遵循了 teamtreehouse.com 上针对常规 ASP.Net 的教程,但不明白为什么它会这样。
编辑: 这是提交 POST 的页面的代码。我只是使用带有 POST 方法的纯 HTML 表单来提交数据。
https://github.com/crumdev/hqbbq/blob/master/HQ-BBQ/Views/Home/contact.cshtml
【问题讨论】:
-
如果没有呈现此行为的客户端代码,我们将无法为您提供帮助。 (即发布您的 javascript/ajax/html 表单)
-
你没有给你的 post 方法提供任何路线?
标签: c# http-post asp.net-core-mvc asp.net-mvc-routing