mvc razor局部视图是否有可能采用2个模型中的一个....我有一个创建模板和一个编辑模板,它们相似但不相同。所以我创建了一个共同的局部视图,将相似的项目提取到其中,但它需要一个模型。我希望这个部分能够接受创建模型或编辑模型,具体取决于它的调用位置。
所以在我的创建视图中我会说
@{Html.Partial("EditorTemplates/CommonModel", Model);}
其中model是我的创建模型
并在编辑中
@{Html.Partial("EditorTemplates/CommonModel", Model);}
模特是我的编辑模型......
我应该如何定义部分模型以满足此需求?
答案 0 :(得分:1)
听起来像继承的完美案例。创建一个基类,其中包含您常用部分所需的所有内容。让编辑器模型和创建模型都继承自它。将基类定义为局部视图的模型。将您碰巧遇到的任何子类(创建或编辑)模型传递到Html.Partial
电话中。