关于匿名对象不能跨程序集传递的解决办法

在开发PageAdmin Cms新版本时候,模板中标签调用用到了匿名对象,类似

        @foreach (var item in Html.InfoDataList(new { ColumnId = 1}))
        {<div class="col-xs-12 col-sm-6 col-md-4">
                        <div class="info-box">
                            <span class="name"><a href="@url">@item.Title</a></span>
                        </div>
                    </div>
                </div>
            </div>

        }

使用中发现匿名对象无法传在不同程序集中传递,最后经过各种研究,可以使用下面办法解决:

接收的项目文件中先把匿名对象转为json字符串,然后再传递到下一个程序集,下一个程序集接收到后就json反系列话为匿名对象

有人会问干嘛不事先弄个model?因为匿名对象中每个属性都不确定,

那为什么不用字典呢?对于前端人员来说,匿名对象更方便使用,字典什么的初始化对于前端来说太别扭。

原文地址:https://www.cnblogs.com/huaguo/p/10319549.html