在局部视图中使用反射

时间:2013-07-26 09:04:48

标签: c# asp.net-mvc asp.net-mvc-partialview

我的控制器正在返回像这样的部分视图

return View("MyPartialView", MyModel);

但它也可以通过另一个模型

return View("MyPartialView", AnotherModel);

我现在想从局部视图中检索typeof()。为此,我已声明(在视图中)

@model object

Type modelType = typeof(model);

然而

  

无法找到类型或命名空间“模型”

我做错了什么?是否可以在局部视图中使用反射?如果是,怎么样?

无论是Customer还是Product,编辑器都是相同的。因此,我想迭代属性并为每个属性显示一个文本字段:我真的需要为每个模型单独一个视图吗?如果我可以使用一个非常棒的单一视图!

1 个答案:

答案 0 :(得分:5)

 Type modelType = typeof(model);

此处model是变量(属性),而不是类型。使用:

 Type modelType = model.GetType();

但严重的是,MVC中的一个指南是视图应该简单。我对这种设计持怀疑态度。