0

在购物车系统的 Iphone View 能力的过程中,我试图在产品列表中使用 Iphone 的 ComponentOne 工具来实现。为此,我已经确定了相同的 C1NavigationList 控件。

据我了解,它是一个分层数据控件,我将它绑定到一个 XML 数据源,因为我不需要任何子项,而是一个主要项的集合,其中详细信息作为 XML 节点的属性,如下所示:

在此处输入图像描述

要求:我想在 C1Navigation 列表模板中定义一个布局,并且 XPath 将数据绑定到上面给定的屏幕抓取中。

下面给出的是我尝试过但失败的代码。它向我抛出了错误:“数据绑定方法,如 Eval()、XPath() 和 Bind() 只能在...中使用。”

我做错了什么?请给我建议。

<asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="/NewDataSet/_x0028__x0028"

DataFile="~/App_Data/Copy of Coffee____1__0__0_0_d.xml">

<C1NavigationList:C1NavigationList ID="C1NavigationList1" 
  runat="server" DataSourceID="XmlDataSource1" Text="XMLDataSource"   NavigationListType="RoundedCornersList" TrackItemsStructure="false">

<%# XPath("@item_smkt_desc")%>

4

1 回答 1

1

我将使用 for 循环而不是 XmlDataSource 来执行此操作。然后,无论如何您都可以更好地控制 UI。我已经相当成功地使用了这种方法。以下是我将如何为您编写代码:

System.Xml.Linq.XElement xEle = System.Xml.Linq.XElement.Load(Server.MapPath("~/App_Data/Copy of Coffee___1_0__0_0_d.xml"));
var items = from c in xEle.Elements("NewDataSet") select c;
foreach (System.Xml.Linq.XElement ele in items)
{
    C1.Web.iPhone.C1NavigationList.C1NavigationListItem li = new C1.Web.iPhone.C1NavigationList.C1NavigationListItem();
    li.Text = ele.Attribute("item_smkt_desc");
    C1NavigationList1.Items.Add(li);
}
于 2011-10-05T13:52:20.910 回答