覆盖视图错误递归

Posted

技术标签:

【中文标题】覆盖视图错误递归【英文标题】:Overridden View Error recursion 【发布时间】:2015-12-02 14:51:49 【问题描述】:

我有 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()。但是我在重写的 View() 方法中有递归错误。

【问题讨论】:

【参考方案1】:

Index() 被调用时,它会从基类调用View(...)。该方法返回调用View(...)计算的值,返回调用View(...)计算的值,返回调用View(...)计算的值,返回调用@计算的值987654326@ ...

【讨论】:

我知道。但我需要一些解决方案和解释为什么会这样)) @Andjey 因为你告诉它这样做。调用View(...) 时执行的代码基本上只是说“再给我打电话”。因此它再次被调用并执行相同的代码,即“再次呼叫我”。如果View(...) 应该返回ViewResult 类型的新对象,请尝试return new ViewResult() 但是我需要传递参数。 @Andjey 如果需要将参数传递给 ViewResult 的构造函数,那么就这样做。 return new ViewResult(/*insert your parameters here*/); 请检查,ViewResult 类型没有任何参数构造函数。

以上是关于覆盖视图错误递归的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 使用 GeometryReader 时覆盖层的错误垂直对齐

在配置单元视图上检测到递归视图

iOS9用自定义uiwindow覆盖状态栏 - 位置错误

在oracle数据库中,想要删除一个用户,但是报递归SQL级别1出现错误,表或视图不存在,请问有办法解决吗?

drop user sxoa cascade ORA-00604: 递归 SQL 级别 1 出现错误 ORA-00942: 表或视图不存在

drop user 用户名 cascade时报ORA-00604:递归SQL级别2 出现错误 ORA-00942:表或视图不存在 是啥原因 急