剃刀部分视图,以满足不同的模型类型

时间:2012-04-12 14:45:16

标签: asp.net-mvc-3 inheritance razor model partial-views

mvc razor局部视图是否有可能采用2个模型中的一个....我有一个创建模板和一个编辑模板,它们相似但不相同。所以我创建了一个共同的局部视图,将相似的项目提取到其中,但它需要一个模型。我希望这个部分能够接受创建模型或编辑模型,具体取决于它的调用位置。

所以在我的创建视图中我会说 @{Html.Partial("EditorTemplates/CommonModel", Model);} 其中model是我的创建模型

并在编辑中 @{Html.Partial("EditorTemplates/CommonModel", Model);} 模特是我的编辑模型...... 我应该如何定义部分模型以满足此需求?

1 个答案:

答案 0 :(得分:1)

听起来像继承的完美案例。创建一个基类,其中包含您常用部分所需的所有内容。让编辑器模型和创建模型都继承自它。将基类定义为局部视图的模型。将您碰巧遇到的任何子类(创建或编辑)模型传递到Html.Partial电话中。