首页 新闻 会员 周边

如何将一个object 对象转换为他原来的类型

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-12-03 08:59

想法是自定义一个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>
}

SeekFreedom的主页 SeekFreedom | 初学一级 | 园豆:185
提问于:2012-11-30 16:30
< >
分享
所有回答(5)
0

方法里把对象属性名称取出来作为键放到字典里,再对应放上属性的值。然后就可以:

@foreach (string key in dic)
{
<th>@dic[key]</th>
}

 

向往-SONG | 园豆:4853 (老鸟四级) | 2012-11-30 16:52

谢谢回复,不过我还是不清楚怎么去解决,能否给个例子,或是详细介绍一下

支持(0) 反对(0) SeekFreedom | 园豆:185 (初学一级) | 2012-11-30 16:59
0

不知道 原来的类型 可以用反射

或者 直接使用泛型

Qlin | 园豆:2403 (老鸟四级) | 2012-11-30 17:08
0

model as T 不行吗?

RyanCheng | 园豆:474 (菜鸟二级) | 2012-11-30 17:16
0

直接强制转换 var m = model as 你要转换的类型;

Rich.T | 园豆:3440 (老鸟四级) | 2012-11-30 17:42

这个是页面里并不知道类型,如果类型确定就不需要这样搞了

支持(0) 反对(0) SeekFreedom | 园豆:185 (初学一级) | 2012-11-30 22:35

@SeekFreedom: 

那就用你的反射吧,你参考一下http://www.cnblogs.com/prolifes/articles/2575528.html

支持(0) 反对(0) Rich.T | 园豆:3440 (老鸟四级) | 2012-12-01 09:21
0

as

然后判断一下是不是null就可以了

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-30 22:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册