创建控制器基类(部分)

时间:2009-11-02 17:43:10

标签: c# asp.net-mvc model-view-controller renderaction

由于我的@html.render操作崩溃了我的dev和prod服务器,我必须使用 partials(废话)

我尝试创建public partial controller{}类,这样我就可以为我的所有视图设置所需数据,但我没有运气(一切都会中断)。

我来自LAMP cakePHP背景,真的需要简单。

我需要知道如何创建部分基本控制器(不会覆盖常规基本控制器)以及如何从类中访问多个模型。

谢谢!

2 个答案:

答案 0 :(得分:3)

public class BaseController: Controller
{
   public override OnActionExecuting(...) { ... }
   public override OnActionExecuted(... context) 
   {
       if (context.Result is ViewResult)
           ((ViewResult)context.Result).ViewData["mycommondata"] = data;
   }
   ...
}

public class MyController1: BaseController 
{
}

即。只是从你的新基础控制器类派生。

但是我建议你在这里问一下为什么你的RenderPartial“崩溃” - 因为它对你来说可能是更好的方式,而且它显然不应该崩溃。

答案 1 :(得分:3)

创建基本控制器的更好方法

    public class Controller : System.Web.Mvc.Controller
{
    public shipsEntities db = new shipsEntities();

    public Controller()
    {
        ViewData["ships"] = db.ships.ToList();
    }
}

其他控制器遵循常规约定

public class MyController : Controller