调用控制器动作MVC5

问题描述:

好了,所以我的行动,是在控制器和代码是:调用控制器动作MVC5

[HttpPost] 
public ActionResult SaveRow(int? id) 
{ 
    //some db operations. 
    return RedirectToAction("Index"); 
} 

,并鉴于我

@Html.ActionLink(Translation.Accept, "SaveRow", new { id = item.New.RecId }) 

我得到错误404,当我点击按钮,可以运行此操作时无需重定向至url /SaveRow/? 也许这个按钮被使用错了我是新的mvc5所以要耐心等待。

+3

链接是'GET',您已将该方法标记为'POST'。使用[表单](http://msdn.microsoft.com/en-us/library/dd492590(v = vs.118).aspx)来访问它。 – GSerg 2014-10-01 08:21:27

如记录here: -

指向一个动作2.An超链接或锚标记将永远是一个HTTPGET。

试试下面的代码将得到的,因为默认情况下它需要[HttpGet]所以删除[HttpPost]属性

[HttpGet] 
public ActionResult SaveRow(int? id) 
{ 
    //some db operations. 
    return RedirectToAction("Index"); 
} 

和MVC的理想设计,我会建议你使用@Html.BeginForm访问pertiular POST调用编辑功能

+0

使用[HttpGet] - 认为你错过了代码。 – 2014-10-01 08:22:35

+1

默认情况下,它需要[HttpGet] @RyanMcDonough – Neel 2014-10-01 08:22:59

+0

总是值得添加,所以你可以一目了然,也可以覆盖默认,所以如果发生它仍然是GET。 – 2014-10-01 08:24:55