1

私の@html.renderアクションは開発サーバーと製品サーバーをクラッシュさせるため、 partials(crap)を使用する必要があります。

すべてのビューに必要なデータを設定できるようにクラスを作成しようとしましpublic partial controller{}たが、運がありません (すべてが壊れます)。

私はLAMP cakePHPのバックグラウンドから来ており、本当にシンプルさが必要です。

部分ベース コントローラ (通常のベース コントローラをオーバーライドしない) を作成する方法と、クラスから複数のモデルにアクセスする方法を知る必要があります。

ありがとうございました!

4

2 に答える 2

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 が「クラッシュ」する理由をここで尋ねることをお勧めします。これは、より良い方法である可能性があり、明らかにクラッシュすべきではないためです。

于 2009-11-02T19:11:06.987 に答える
3

ベースコントローラーを作成するより良い方法

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

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

そうすれば、残りのコントローラーは通常の規則に従います

public class MyController : Controller
于 2009-11-02T19:58:52.237 に答える