试图从cshtml调用操作失败,出现路由错误?

时间:2016-07-15 07:30:25

标签: razor asp.net-mvc-5 routing attributes

我正在尝试从视图中调用MVC项目中的控制器上的操作,我收到以下错误:

  

当控制器使用RouteAttribute进行路由时,可能会发生这种情况,但该控制器上没有任何操作与请求匹配

我读过一些人已经删除了属性路由以使其工作,但这似乎有点极端。有谁知道从这个开始?

//Calling in view like so
@Html.Action("Edit", new { datablockId = 227 })

//THe controller
[RoutePrefix("CustomData")]
public class CustomDataController : Controller, ICustomDataController
{
    [Route("Edit")]
    [HttpGet]
    public ActionResult Edit(int datablockId)
    {
        return this.PartialView(new CustomDataEditViewModel() { DataRows = Data, DataBlockId = datablockId });
    }
}

1 个答案:

答案 0 :(得分:0)

尝试将操作明确地路由到该特定控制器,如下所示:

@Html.Action("Edit", "CustomData" ,new { datablockId = 227 })

Html操作接受可能修复路由问题的aditional参数,这些参数为:Html.Action(" Action"," Controller",Parameters)