在控制器上找不到操作方法
本文关键字:操作方法 找不到 控制器 | 更新日期: 2023-09-27 18:21:18
尽管有很多类似的问题,但似乎没有一个是相关的,所以
我有一个行动与这个签名
[HttpPost]
public ActionResult SaveOrder(PizzaOrder pizza, Guid? id){
...
}
我正在尝试提交一个带有按钮的表格。我已经验证了按钮向发送POST
https://my/controller/url/SaveOrder?id=...
PizzaOrder数据的发布似乎也是正确的。
但是,我的行动从来没有受到打击。相反,MVC抛出一个异常
A public action method 'SaveOrder' was not found on controller
'Controllers.PizzaController'.
为什么?
POST不会在URL查询字符串中发送表单数据。
原因只有一个,这正是它所说的。url错误。要测试这一点,请使用浏览器开发工具并检查页面发布到的url和实际url。Controller与PizzaController?或您正在执行GET到POST。POST没有SaveOrder?id=。
您正在尝试的请求是GET而不是POST,因为您正在使用Querystring传递参数?id=。。。删除[HttpPost]
属性后重试