2012-02-02 17 views
3

表示テンプレートまたはエディタテンプレートのフルパスを指定できますか?私はParentControllerChildController持っていると私は、ビュー/子供/ DisplayTemplates/ChildModel.cshtmlで子表示テンプレートビューを入れたいとASP.net MVC - 表示テンプレートのフルパスを指定

public class ParentModel 
{ 
    public class ChildModel { get; set; } 
} 

は例えば、私は次のモデルを持っていますビュー/ Parent/DisplayTemplates/ParentModel.cshtmlのParentModel.cshtmlビュー。

現在、ビュー/共有とビュー/親で表示されているため、子ディスプレイテンプレートを見つけることができません。

表示テンプレートのフルパスを指定するか、または表示するフォルダを指定できるHtmlHelperを記述できますか?

+0

これには解決策がありますが、アプリケーションでパフォーマンスが低下することになります。それはあなたが取ることを望むトレードオフですか? – Paul

+0

問題の内容がわかりません。これはViews/Sharedが存在する理由です。なぜあなたはそれを使いたくないのですか? –

+0

パフォーマンスにどれだけ大きなヒットがあるかによって異なります。私はいつもそれを試して、それが目立つかどうかを見て、それをそこから取ることができると思います。 – Dismissile

答えて

3

私は、唯一のわずかな欠点で動作する方法を考え出した:

@Html.DisplayFor(model => model.Child, "Child/ChildModel") 

私は、次のフォルダを作成しました:

Views\Shared\DisplayTemplates\Childをし、フォルダ内のChildModel.cshtmlを置きます。これの欠点は、モデル名を使用してテンプレート名を決定することがなくなり、おそらくUIHintも無視していると思いますが、共有表示テンプレートを少し整理することができます。

関連する問題