如何将url从XML源传递到asp.net中继器

本文关键字:asp net 中继器 url XML | 更新日期: 2023-09-27 18:29:06

它实际上比标题复杂一点。我正试图弄清楚如何从XML源中传递我自己预定义的url一个ID——所有这些都作为锚标记中的href。

基本上,我有一个具有不同标题和ID的XML源:

    <root>
      <mainNode>
         <title>ABC</title>
         <ID>100</ID>
      </mainNode>
      <mainNode>
         <title>DEF</title>
         <ID>101</ID>
      </mainNode>
    </root>

我正在将标题传递给中继器,并希望有一个锚标签,如下所示:

    <asp:Repeater ID="xPathRepeater" runat="server">
    <ItemTemplate>
        <li>
            <h1><%#XPath ("title") %></h1> <!--In the first case "ABC" -->
            <a href="preDefinedPathInCodeBehind.aspx?100>Read More...</a>
        </li>
    </ItemTemplate>
</asp:Repeater>

其中100将是我从XML源中获得的ID。

我不知道该怎么做。

下面是我的代码:

    protected void XMLsource()
{
    string URLString = "http://ExternalSite.com/xmlfeed.asp";
    XmlDataSource x = new XmlDataSource();
    x.DataFile = URLString;
    x.XPath = String.Format(@"root/mainNode");
    xPathRepeater.DataSource = x;
    xPathRepeater.DataBind();
}

如有任何帮助,我们将不胜感激。非常感谢!

如何将url从XML源传递到asp.net中继器

我想这就是你想要的?

  <asp:Repeater ID="xPathRepeater" runat="server">
  <ItemTemplate>
    <li>
      <h1><%#XPath ("title") %></h1> <!--In the first case "ABC" --> 
      <a href="preDefinedPathInCodeBehind.aspx?<%#XPath ("ID") %>">Read More...</a>
    </li>
  </ItemTemplate>
</asp:Repeater>

你试过这个吗?

<a href='preDefinedPathInCodeBehind.aspx?' + '<%# XPath("ID") %>'>Read More...</a>

或者这个。。

   <asp:Repeater ID="xPathRepeater" runat="server">
            <ItemTemplate>
                <li>
                    <h1> <%#XPath ("title") %></h1>
                    <!--In the first case "ABC" -->
                    <a href=  "<%# "preDefinedPathInCodeBehind.aspx?" + XPath ("ID")  %>" >Read More...</a> </li>
            </ItemTemplate>
        </asp:Repeater>

这是什么意思?

<asp:Repeater ID="xPathRepeater" runat="server">
        <ItemTemplate>
            <li>
                <h1>
                    <%#XPath ("title") %></h1>
                <!--In the first case "ABC" -->
                <a href="preDefinedPathInCodeBehind.aspx?<%#XPath ("ID") %>">Read More...</a> </li>
        </ItemTemplate>
    </asp:Repeater>

尝试过。它是有效的。