MVC 多层视图里多层嵌套引起的模型model数据冲突
近期在做一个比较傲复杂的系统,页面内有4-5层的分部视图互相嵌套,这个时候发生了很有趣的事,在分部视图嵌套到第三层的时候,该层的model 无法正常识别了,被识
别成了主视图的model。当时以为是自己在Html.Partial 里的model传递错了,反复检查了好几次,确定没有写错。这时候又把嵌套的分部视图一层一层的注释掉,直到只剩下
两层的时候才正常,折腾了2小时。。。这个可能是razor引擎的bug,解决的办法是在分部视图内做一个强制转换,而不是直接@model List<T>。
如下:
var tmpModel=Model as List<T>
而不能正常使用
@model List<T>

浙公网安备 33010602011771号