中继器绑定问题

时间:2013-12-19 17:41:21

标签: c# asp.net xml

我遇到转发器绑定的问题,我收到此消息:

  

DataBinding:'System.String'不包含具有名称的属性   'CotisationMensuelle'。

这是C#代码:

XDocument docxx = XDocument.Parse(Session["xmlrs" + z + ""].ToString());
//This now holds the set of all elements named field

try
{
    XNamespace foobar = "http://www.april-technologies.com";
    var urlList = docxx.Descendants(foobar + "CotisationMensuelle")
                       .Select(x => (string)x)
                       .ToList();
    Console.WriteLine(urlList);

    rpMyRepeater1.DataSource = urlList;
    rpMyRepeater1.DataBind();
}
catch(Exception ex)
{
}

aspx页面代码:

<%# DataBinder.Eval(Container.DataItem, "CotisationMensuelle") %> 

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

你需要为转发器提供aspx页面标记,如下所示

<asp:Repeater ID ="rpMyRepeater1" ItemType="System.string" runat="server">
    <ItemTemplate>
       <%=this.GetDataItem().ToString() %>
    </ItemTemplate>
</asp:Repeater>

根据您的新更新,如果您需要绑定如下

<%# DataBinder.Eval(Container.DataItem, "CotisationMensuelle") %> 

您需要拥有名为CotisationMensuelle的媒体资源,但目前您还没有,请尝试以下

  var urlList = docxx.Descendants(foobar + "CotisationMensuelle")
                       .Select(x => new { CotisationMensuelle =(string)x})
                       .ToList();