C# 重写视图错误递归
我有一个基本控制器:C# 重写视图错误递归,c#,model-view-controller,view,C#,Model View Controller,View,我有一个基本控制器: public partial class BaseController : Controller { protected override ViewResult View(string viewName, string masterName, object model) { return View(viewName, model); } } 我将在将来更改此视图逻辑。我还有另一个控制器
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()方法中遇到了递归错误 当调用
Index()
时,它从基类调用View(…)
。此方法返回通过调用视图(…)
计算的值,该方法返回通过调用视图(…)
计算的值,该方法返回通过调用视图(…)
计算的值,该方法返回通过调用视图(…)
当索引()
被调用,它从基类调用视图(…)
。此方法返回通过调用视图(…)
计算的值,返回通过调用视图(…)
计算的值,返回通过调用视图(…)
计算的值,返回通过调用视图(…)
计算的值,我知道。但是我需要一些解决方案和解释为什么会这样。)Andjey,因为是你让它这么做的。调用View(…)
时执行的代码基本上只是说“再次调用我”。所以它再次被调用并执行相同的代码,上面写着“再次调用我”。如果View(…)
应返回类型为ViewResult
的新对象,请尝试返回新的ViewResult()
。但我需要传递参数。@如果需要将参数传递给ViewResult的构造函数,请这样做<代码>返回新的ViewResult(/*在此处插入参数*/)代码>请检查,ViewResult类型没有任何参数构造函数。我知道。但是我需要一些解决方案和解释为什么会这样。)Andjey,因为是你让它这么做的。调用View(…)
时执行的代码基本上只是说“再次调用我”。所以它再次被调用并执行相同的代码,上面写着“再次调用我”。如果View(…)
应返回类型为ViewResult
的新对象,请尝试返回新的ViewResult()
。但我需要传递参数。@如果需要将参数传递给ViewResult的构造函数,请这样做<代码>返回新的ViewResult(/*在此处插入参数*/)代码>请检查,ViewResult类型没有任何参数构造函数。