我有一個名爲BaseController
的控制器。在BaseController中,我有一個名爲Index
的Action方法,它有一些涉及查詢路由和構建URL的邏輯。對東西的線路:MVC路線數據不可用
var link = Url.RouteUrl("myroute", new { id = 5 });
這一切都很好,很好,直到我創建一個控制器NewController
,它擴展了BaseController。在NewController的構造函數中,我將BaseController作爲依賴項傳遞。
public class NewController
{
private BaseController _baseController;
public NewController(BaseController baseController)
{
_baseController = baseController;
}
public ActionResult Index()
{
return _baseController.Index();
}
}
這是需要的原因是因爲我需要重寫視圖(一些HTML和CSS更改)。我不想重新創建模型和服務並重寫業務邏輯,所以認爲這將是最好和最有效的方法。
唯一的問題是當BaseController的索引動作被調用時,Url
顯然爲空。路由數據不可用,因爲請求是在基本控制器之外生成的。
解決此問題的最佳方法是什麼?
你解決了這個問題嗎? – hasan