XMLDataSourceTest3.aspx 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head id="Head1" runat="server">
  5. <title>Untitled Page</title>
  6. <script language="C#" runat="server">
  7. public void TransformEventHandler (object sender, EventArgs e)
  8. {
  9. // Create an XsltArgumentList.
  10. System.Xml.Xsl.XsltArgumentList xslArg = new System.Xml.Xsl.XsltArgumentList ();
  11. xslArg.AddParam ("purchby", "", "Mainsoft developers");
  12. ((XmlDataSource) sender).TransformArgumentList = xslArg;
  13. }
  14. protected void Page_PreRender (object sender, EventArgs e)
  15. {
  16. XmlDataSource1.Data = @"<?xml version=""1.0"" encoding=""iso-8859-1""?>
  17. <orders>
  18. <order>
  19. <customer id=""12345"" />
  20. <customername>
  21. <firstn>Todd</firstn>
  22. <lastn>Rowe</lastn>
  23. </customername>
  24. <transaction id=""12345"" />
  25. <shipaddress>
  26. <address1>1234 Tenth Avenue</address1>
  27. <city>Bellevue</city>
  28. <state>Washington</state>
  29. <zip>98001</zip>
  30. </shipaddress>
  31. <summary>
  32. <item dept=""tools"">screwdriver</item>
  33. <item dept=""tools"">hammer</item>
  34. <item dept=""plumbing"">fixture</item>
  35. </summary>
  36. </order>
  37. </orders>";
  38. }
  39. </script>
  40. </head>
  41. <body>
  42. <form id="form1" runat="server">
  43. begint<div>
  44. <asp:XmlDataSource
  45. runat="server"
  46. id="XmlDataSource1" EnableCaching="false"
  47. ontransforming="TransformEventHandler">
  48. <Transform>
  49. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  50. <xsl:param name="purchby"/>
  51. <xsl:template match="orders">
  52. <orders>
  53. <xsl:apply-templates select="order"/>
  54. </orders>
  55. </xsl:template>
  56. <xsl:template match="order">
  57. <order>
  58. <customer>
  59. <id>
  60. <xsl:value-of select="customer/@id"/>
  61. <div>purchased by: <xsl:value-of select="$purchby"/></div>
  62. </id>
  63. <firstname>
  64. <xsl:value-of select="customername/firstn"/>
  65. </firstname>
  66. <lastname>
  67. <xsl:value-of select="customername/lastn"/>
  68. </lastname>
  69. </customer>
  70. </order>
  71. </xsl:template>
  72. </xsl:stylesheet>
  73. </Transform>
  74. </asp:XmlDataSource>
  75. <asp:Repeater ID="Repeater1"
  76. runat="server"
  77. DataSourceID="XmlDataSource1">
  78. <ItemTemplate>
  79. <h2>Order</h2>
  80. <hr>
  81. <table>
  82. <tr>
  83. <td>Customer</td>
  84. <td><font color="blue"><%# XPath ("customer/id") %></font></td>
  85. <td><%# XPath ("customer/firstname")%></td>
  86. <td><%# XPath ("customer/lastname")%></td>
  87. </tr>
  88. </table>
  89. <hr>
  90. </ItemTemplate>
  91. </asp:Repeater>
  92. </div>endt
  93. </form>
  94. </body>
  95. </html>