2015-12-02 31 views
1

我有BaseController:重寫查看錯誤遞歸

public partial class BaseController : Controller 
    { 
     protected override ViewResult View(string viewName, string masterName, object model) 
     { 
      return View(viewName, model); 
     } 
    } 

,我會在未來改變這種觀的邏輯。而且我還有一個控制器:

public partial class BrandController : BaseController 
    {  
     public virtual ActionResult Index() 
     { 

      return base.View(Views.Index,"", new Model() 
      {  

      ); 
     } 

我只是試圖調用覆蓋的方法在我BaseController和BaseController應該返回視圖()。但是我在重寫的View()方法中出現了遞歸錯誤。

回答

0

Index()被調用時,它會從基類中調用View(...)。此方法返回通過調用View(...),它返回通過調用View(...),它返回通過調用View(...),這會返回一個通過調用View(...)計算出的值計算出的值計算出的值計算出的值...

+0

我知道。但我需要一些解決方案和解釋爲什麼是這樣)) –

+0

@Andjey因爲你告訴它這樣做。調用View(...)時執行的代碼基本上只是說「再次呼叫我」。所以它再次被調用,並執行相同的代碼,它說「再次打電話給我」。如果'View(...)'應該返回一個類型爲'ViewResult'的新對象,請嘗試'返回新的ViewResult()'。 – Wilsu

+0

但我需要傳遞參數。 –