XMLDataSourceTest3.aspx 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. begint
  43. <form id="form1" runat="server">
  44. <div>
  45. <asp:XmlDataSource
  46. runat="server"
  47. id="XmlDataSource1"
  48. ontransforming="TransformEventHandler">
  49. <Transform>
  50. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  51. <xsl:param name="purchby"/>
  52. <xsl:template match="orders">
  53. <orders>
  54. <xsl:apply-templates select="order"/>
  55. </orders>
  56. </xsl:template>
  57. <xsl:template match="order">
  58. <order>
  59. <customer>
  60. <id>
  61. <xsl:value-of select="customer/@id"/>
  62. <div>purchased by: <xsl:value-of select="$purchby"/></div>
  63. </id>
  64. <firstname>
  65. <xsl:value-of select="customername/firstn"/>
  66. </firstname>
  67. <lastname>
  68. <xsl:value-of select="customername/lastn"/>
  69. </lastname>
  70. </customer>
  71. </order>
  72. </xsl:template>
  73. </xsl:stylesheet>
  74. </Transform>
  75. </asp:XmlDataSource>
  76. <asp:Repeater ID="Repeater1"
  77. runat="server"
  78. DataSourceID="XmlDataSource1">
  79. <ItemTemplate>
  80. <h2>Order</h2>
  81. <hr>
  82. <table>
  83. <tr>
  84. <td>Customer</td>
  85. <td><font color="blue"><%# XPath ("customer/id") %></font></td>
  86. <td><%# XPath ("customer/firstname")%></td>
  87. <td><%# XPath ("customer/lastname")%></td>
  88. </tr>
  89. </table>
  90. <hr>
  91. </ItemTemplate>
  92. </asp:Repeater>
  93. </div>
  94. </form>
  95. endt
  96. </body>
  97. </html>