Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 使用匿名类型的ExpandooObject_Asp.net Mvc 4_Expandoobject - Fatal编程技术网

Asp.net mvc 4 使用匿名类型的ExpandooObject

Asp.net mvc 4 使用匿名类型的ExpandooObject,asp.net-mvc-4,expandoobject,Asp.net Mvc 4,Expandoobject,我一直在使用ExpandoObject()解决方案来解决这个网站上讨论过的匿名类型。但我遇到了一个问题,因为我的视图无法编译。我使用了以下扩展: public static ExpandoObject ToExpando(this object anonymousObject) { IDictionary<string, object> anonymousDictionary = new RouteValueDictionary(anonymousOb

我一直在使用ExpandoObject()解决方案来解决这个网站上讨论过的匿名类型。但我遇到了一个问题,因为我的视图无法编译。我使用了以下扩展:

    public static ExpandoObject ToExpando(this object anonymousObject)
    {
        IDictionary<string, object> anonymousDictionary = new RouteValueDictionary(anonymousObject);
        IDictionary<string, object> expando = new ExpandoObject();
        foreach (var item in anonymousDictionary)
            expando.Add(item);
        return (ExpandoObject)expando;
    }
视图:

@foreach(Model.Latest中的var讨论)
{
@RouteLink(discussion.Title,“displaysession”,新的{guid=discussion.guid,urlttitle=discussion.urlttitle,action=“Display”,controller=“discussion”})
}
我的模型如下所示:

public class IndexModel
{
    public IQueryable<Discussion> MostPopular { get; set; }
    public ExpandoObject Latest { get; set; }
}
公共类索引模型
{
公共IQueryable最流行的{get;set;}
公共ExpandoObject最新{get;set;}
}
但是,我收到一个编译错误,表示讨论。标题:

编译器错误消息:CS1061:'System.Collections.Generic.KeyValuePair'不包含'Title'的定义,并且找不到接受'System.Collections.Generic.KeyValuePair'类型的第一个参数的扩展方法'Title'(是否缺少using指令或程序集引用?)

我错过了什么

提前谢谢


标记非常确定
ExpandoObject
的左侧需要是
dynamic
以向编译器发送信号,即
dynamic expando=new ExpandoObject()初始化后,anonymousDictionary似乎为空。我如何解决这个问题?你能提供一个小的可复制的例子吗?
@foreach (var discussion in Model.Latest)
{
    <div>
        @Html.RouteLink(discussion.Title, "DisplayDiscussion", new { guid = discussion.Guid, urlTitle = discussion.UrlTitle, action = "Display", controller = "Discussion" })
    </div>
}
public class IndexModel
{
    public IQueryable<Discussion> MostPopular { get; set; }
    public ExpandoObject Latest { get; set; }
}