DataBinding到Facebook.JsonObject

时间:2012-06-15 15:09:54

标签: asp.net data-binding facebook-c#-sdk

我正在构建一个使用Facebook API从特定相册中获取用户照片的应用程序(是的,我知道现在每个人都在构建照片应用程序)。在其中我有一个像这样的转发器:

    <ItemTemplate>
        <img src="<%# DataBinder.Eval(Container.DataItem, "src_big") %>" />
    </ItemTemplate>

我执行实际数据绑定的代码如下所示:

profilePhotosTask = client.GetTaskAsync("fql", new { q = "select src_bigfrom photo where album_object_id = <<some photo album ID>>"}).ContinueWith(innerTask => {
    dynamic photos = innerTask.Result;
    CarouselRepeater.DataSource = photos[0];
    CarouselRepeater.DataBind();
});

但是,运行此代码时,我在DataBinder.Eval上收到以下错误:

DataBinding: 'Facebook.JsonObject' does not contain a property with the name 'src_big'.

这很奇怪,因为我知道该对象具有此属性。它与动态类型的DataBinding有关吗?例如,当我创建一个包装该属性的新匿名类型时,它可以正常工作:

profilePhotosTask = client.GetTaskAsync("fql", new { q = "select src_bigfrom photo where album_object_id = 151858621509621"}).ContinueWith(innerTask => {
    dynamic photos = innerTask.Result;
    var urlList = new System.Collections.ArrayList();
    foreach (var photo in photos[0]) {
        urlList.Add(new { src_big = photo.src_big });
    }
    CarouselRepeater.DataSource = urlList;
    CarouselRepeater.DataBind();
});

谢谢!

根据评论,我添加了一个屏幕截图,显示了当我添加断点并将鼠标悬停在CarouselRepeater.DataSource上时所看到的内容。

Dynamic Binding

0 个答案:

没有答案