想法是自定义一个mvc helper 方法生成一个表格接收object 类型参数,在方法内部将object 对象转换为其原来类型,输出集合中的信息到表格。反射没用过,现在已经能获取对象类型和属性了,求教该怎么还原为原来的类型呢,使用其他方法能实现类似效果也可以。 下面是我写的代码:
@helper table(object model)
{
Type type = model.GetType();
PropertyInfo[] props = type.GetProperties();
<table>
<tr>
@foreach (PropertyInfo item in props)
{
<th>@item</th>
}
</tr>
<tr>
</tr>
</table>
}
方法里把对象属性名称取出来作为键放到字典里,再对应放上属性的值。然后就可以:
@foreach (string key in dic)
{
<th>@dic[key]</th>
}
谢谢回复,不过我还是不清楚怎么去解决,能否给个例子,或是详细介绍一下
不知道 原来的类型 可以用反射
或者 直接使用泛型
model as T 不行吗?
直接强制转换 var m = model as 你要转换的类型;
这个是页面里并不知道类型,如果类型确定就不需要这样搞了
@SeekFreedom:
那就用你的反射吧,你参考一下http://www.cnblogs.com/prolifes/articles/2575528.html
as
然后判断一下是不是null就可以了