15

厳密に型指定されたマスター ページがありますが、その子ページの一部に別の型を使用したいと考えています。

たとえば、マスターページでは...

<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>

Client はすでに複合オブジェクトであるため、一部の子ページでは同じモデルを維持し、メンバー オブジェクトを参照するだけです。しかし、他のページでは、別のモデル (たとえば、Customer モデルを扱う子ページなど) を扱っているため、そうしても意味がありません。

マスター ページには引き続き Client モデルが必要ですが、子ビューは完全に別のモデルで動作します。問題は、コントローラーでは、ビューに 1 つのオブジェクト モデルしか渡すことができないことです。あるモデルをマスターに渡し、別のモデルをビューに渡す方法はありますか? ありがとう!

4

1 に答える 1

14

階層を作成し、基本モデルをマスター ページに、子モデルをビューに渡すことができます。

public class BaseModel
{
}

public class ChildModelOne : BaseModel
{
}

public class ChildModelTwo : BaseModel
{
}

このように、マスター ビューには独自のデータ (マスター モデル クラスで利用可能) のみが表示され、ビューは子モデル クラスで利用可能な拡張情報にアクセスできます。

とてもシンプルです。

于 2009-04-23T14:53:38.733 に答える