本文介绍了ExpandoObject,匿名类型和剃刀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用ExpandoObject作为视图模型类型的的Razor视图的ViewPage<动态> 。我得到一个错误,当我这样做

I want to use an ExpandoObject as the viewmodel for a Razor view of type ViewPage<dynamic>. I get an error when I do this

ExpandoObject o = new ExpandoObject();
o.stuff = new { Foo = "bar" };
return View(o);

我能做些什么,使这项工作?

what can I do to make this work?

推荐答案

您可以在这个问题中提到的扩展方法做到这一点:

You can do it with the extension method mentioned in this question:

Dynamic在剃刀匿名类型会导致RuntimeBinderException

所以你的控制器code看起来像:

So your controller code would look like:

dynamic o = new ExpandoObject();
o.Stuff = new { Foo = "Bar" }.ToExpando();

return View(o);

然后您的视图:

@model dynamic

@Model.Stuff.Bar

这篇关于ExpandoObject,匿名类型和剃刀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 23:01