【发布时间】:2011-11-17 19:13:09
【问题描述】:
我有一个 MVC3 站点,我已经设置它来测试另一个站点 - 大多数站点都快速而肮脏,因此我没有去城镇为所有视图创建模型和视图模型类型 - 仅在输入的地方是用户要求的。
好的,所以我有一个控制器方法,它可以投影 Linq 序列并将其设置为 ViewBag。
ViewBag.SomeData = Enumerable.Range(1,10).Select(i=> new { Value = i });
在我看来(Razor C#)然后我想阅读这个 - 很简单:
@foreach(dynamic item in ViewBag.SomeData)
{
@:Number: @item.i
}
当然,我得到一个RuntimeBinderException 除外,因为在控制器中创建的匿名类型在 Web 项目的输出程序集内部,并且此处的实际 Razor 代码将在构建管理器生成的不同程序集中运行,所以,总而言之拒绝!
显然,“适当”的模型类型可以解决问题 - 但假设我只是不想这样做,因为这是我的特权(!) - 如何最好地将代码保持在最低限度并保持动态性在这里?
【问题讨论】:
标签: .net asp.net-mvc c#-4.0 dynamic anonymous-types