该问题通常是由于在应用程序中未正确配置HTTP请求方法所致。解决方案是在应用程序中添加以下代码:
在Startup.cs文件中的Configure方法中添加以下代码:
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id?}");
//添加以下代码
endpoints.MapControllers();
endpoints.MapRazorPages();
});
该代码添加了对控制器和Razor页面的支持,从而确保应用程序能够处理HTTP请求。
在控制器类中,添加以下代码,以确保视图使用正确的HTTP请求方法:
[HttpPost]
public IActionResult SubmitForm(MyModel model)
{
//处理表单提交数据
return RedirectToAction("Index");
}
请注意,[HttpPost]特性指定了该操作方法应该使用POST请求。
通过以上配置和代码更改,应用程序将能够正确处理表单提交,并避免HTTP错误405。