2016-07-15 41 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(「行動」, 「控制器」,參數)