advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   TIP BANK
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Expertise: Intermediate
Language: ASP.NET
January 31, 2005
Use XSLT to Create an ASP.NET Page with ASP.NET Server Controls
Just write the HTML-Tag for the ASP.NET Control into the XSLT:

<xsl:stylesheet version="1.0" xmlns:asp="remove" ....
....
<tr>
<td class="someclass">
<xsl:for-each select="n1:Priority">
<asp:CheckBox id="Priority" runat="server">
<xsl:choose>
<xsl:when test=".='true'">
<xsl:attribute name="checked">true</xsl:attribute>
</xsl:when>
<xsl:when test=".='1'">
<xsl:attribute name="checked">true</xsl:attribute>
</xsl:when>
</xsl:choose>
</asp:CheckBox>
</xsl:for-each>
</td>
<td class="someclass">Priority</td>
</tr>
That's what the following code does:

Protected ctlXML As PlaceHolder
Dim oXMLDoc As System.Xml.XPath.XPathDocument
Dim oXMLTrans As System.Xml.Xsl.XslTransform
Dim oSW As System.IO.StringWriter
Dim sHTML As String
Dim oCtl As Control
oXMLDoc = New System.Xml.XPath.XPathDocument("...")
oXMLTrans = New System.Xml.Xsl.XslTransform
'load the Stylesheet
oXMLTrans.Load(Server.MapPath("..."))
'Transform XML to HTML
oSW = New System.IO.StringWriter
oXMLTrans.Transform(oXMLDoc, Nothing, oSW, Nothing)
sHTML = oSW.ToString
If Not sHTML Is Nothing Then
'Remove the Definition for the "namespace" ASP, which has been created
sHTML = sHTML.Replace("xmlns:asp=""remove""", "")
End If
oCtl = Page.ParseControl(sHTML)
ctlXML.Controls.Clear()
ctlXML.Controls.Add(oCtl)

It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com.
Already a member?





Martin Moser
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
advertisement
advertisement