2016-07-15 44 views
0

我试图调用从视图中的MVC项目控制器上的一个动作,我得到以下错误:尝试从cshtml调用操作失败,路由错误?

This can happen when a controller uses RouteAttribute for routing, but no action on that controller matches the request

我读过一些人已删除路由到得到这个工作的属性但是这似乎有点极端。有谁知道从哪里开始呢?

//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 }); 
    } 
} 

回答

0

尝试路由的行动,那个特定的控制器明确这样的:

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

HTML动作承认,可能会解决你的路由问题aditional的参数,这些参数是:Html.Action(“行动”, “控制器”,参数)