MVC5表单没有正确路由

时间:2014-10-27 11:47:06

标签: c# asp.net-mvc-5

我有这段代码;

<form action="@Url.Action("Index", "MyController")" method="post" >            
    <button class="btn btn-large btn-primary" id="btnNext">Click Here</button>
</form>

但是当点击该按钮时,它会重定向到http://<domain>:2024/MyController并收到http错误

  

405.0不允许使用目录列表。

如果我手动将网址更改为http://<domain>:2024/MyController/Index,我会收到我的网页。

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

<form action="@Url.Action("MyAction", "MyController")" method="post" >            
    ...

索引方法声明是;

 public async Task<ActionResult> Index()
 {
  ...
 }

所以给您带来不便,这是它发生的唯一地方。我可以通过不使用Index操作来解决它,但是如何跟踪它并修复它?

1 个答案:

答案 0 :(得分:0)

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

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