C# MVC5表单路由不正确

C# MVC5表单路由不正确,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我有这段代码 点击这里 但是当点击按钮时,它会重定向到http://:2024/MyController,我得到一个http错误 不允许405.0目录列表 如果我手动将url更改为http://:2024/MyController/Index,我将获得我的页面 当我将表单代码更改为下面的代码时,它可以工作 ... 索引方法声明为 public async Task<ActionResult> Index() { ... } 公共异步任务索引() { ... }

我有这段代码


点击这里
但是当点击按钮时,它会重定向到http://:2024/MyController,我得到一个http错误

不允许405.0目录列表

如果我手动将url更改为
http://:2024/MyController/Index
,我将获得我的页面

当我将表单代码更改为下面的代码时,它可以工作


...
索引方法声明为

 public async Task<ActionResult> Index()
 {
  ...
 }
公共异步任务索引()
{
...
}

所以这是一个不便,这是唯一发生这种情况的地方。我可以通过不使用索引操作来解决这个问题,但是我如何跟踪并修复它呢?

除了检查路由规则之外,您还可以使用
Html.BeginForm
帮助程序方法来正确创建表单

@using(Html.BeginForm("Action", "ControllerName"), HttpMethod.Post)
{
//form controls
}

您能否将索引操作的声明与MyController中的HttpPost属性共享?查看是否有帮助。您是否在路由配置中将
Index
列为
action
的默认值?这听起来确实像是路由问题。您可以发布您的路由吗?另外,索引是否用HttpGet或另一个限制其仅获取请求的筛选器修饰?