Как передать URL в ретранслятор asp.net из источника XML? - PullRequest
0 голосов
/ 26 марта 2012

Это на самом деле немного сложнее, чем название. Я пытаюсь выяснить, как передать свой собственный предопределенный URL-адрес плюс идентификатор из источника XML - все в виде ссылки в теге привязки.

По сути, у меня есть источник 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.

Понятия не имею, как это сделать.

Вот мой код:

    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();
}

Любая помощь будет принята с благодарностью. Большое вам спасибо!

Ответы [ 4 ]

1 голос
/ 26 марта 2012

Я думаю, это то, что вы просите?

  <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>
0 голосов
/ 26 марта 2012

Это значит?

<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>

пробовал.это работает.

0 голосов
/ 26 марта 2012

Или это ..

   <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>
0 голосов
/ 26 марта 2012

Вы пробовали это?

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