都已经n年没用MVC控制器向视图直接传数据了,一般直接通过AJAX进行数据传输,这样维护和操作都方便。但最近叒遇到一个系统,系统不复杂,复杂的数据结构。竟然没有任何的开发资料和文档,只能看程序代码。哎。好吧,这些都不是重点,重点是在控制器向视图竟然无法直接传结果List..那只能通过ExpandoObject传输。
在控制其中
代码语言:javascript复制 var WarehouseIn_List = _viewProdWarehouseInRepository.GetList(c => 1 == 1, 5, o => o.Desc(u => u.ProdWarehouseInDate)).Select(
t=> new {
code=t.OrderCode,
name =t.CustomerName,
Ordername= t.OrderFinalCustomer
});//获取LIST
//-------------------------------------------
List<ExpandoObject> listDyn = new List<ExpandoObject>();//定义传输的ExpandoObject
foreach (var item in WarehouseIn_List)//List 转化传输 listDyn
{
dynamic obj = new ExpandoObject();
obj.code = item.code;
obj.name = item.name;
obj.Ordername = item.Ordername;
listDyn.Add(obj);
}
ViewBag.WarehouseIn_List = listDyn; 赋值
视图中展示
代码语言:javascript复制 @if (ViewBag.WarehouseIn_List != null)
{
foreach (var item in ViewBag.WarehouseIn_List)
{
<tr><td>@item.code</td>
<td style="text-align:right">@item.name</td>
<td style="text-align:right">@item.Ordername</td>
</tr>
}
}
好了,暂时这样吧~程序可以跑起来,自己去乐吧