首页 新闻 会员 周边

关于Html.Partial 传递不同类型的model

0
悬赏园豆:20 [已解决问题] 解决于 2012-05-27 10:30

 一个视图中  使用Html.Partial 读取局部视图 ,怎么传递不同的Model 

比如主视图 的@ model  是 a 

局部视图的@model 是b

我尝试过强制转换 失败

应该怎么传递了 Html.Partial("局部视图", 模型?这个怎么转换传递)

SpeakHero的主页 SpeakHero | 初学一级 | 园豆:31
提问于:2012-05-22 18:02
< >
分享
最佳答案
0

定义一个ViewModel,比如名叫a,添加两个属性:a.list1, a.list2。

主视图:@model a

局部视图:@model list2

Html.Partial("局部视图", a.list2) ;

收获园豆:18
dudu | 高人七级 |园豆:30994 | 2012-05-22 20:12
其他回答(2)
0

架设b是a的一个属性,那么在主视图中可以这样用:@Html.Partial("_xxx.cshtml",Model.b)

收获园豆:1
today4king | 园豆:3499 (老鸟四级) | 2012-05-22 18:19

你理解有误,  主视图: model类是 list1 ,局部视图是 list2  , 两个类是不同的

支持(0) 反对(0) SpeakHero | 园豆:31 (初学一级) | 2012-05-22 18:35

@SpeakHero: 局部视图的模型应该是当前视图模型的一部分,所以你的主视图Model应该包括两个List

支持(0) 反对(0) today4king | 园豆:3499 (老鸟四级) | 2012-05-25 15:01
0

你必须通过主model通过构建出局部model,然后再传递这个局部model,没有其他办法。

如果局部model在一个form中你也可以直接传递这个form的序列化字符串($("form:first").serialize()),然后mvc会自动将这个字符串构建成FormCollection形式或Model形式

收获园豆:1
ReadQi | 园豆:311 (菜鸟二级) | 2012-05-23 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册