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