通过XSLT显示C#控件

时间:2011-09-12 05:03:32

标签: c# xslt xslt-1.0

有没有办法通过XSLT显示C#控件?

我正在努力处理这个问题,但我无法将值传递给控件。

以下是我试图将其渲染出来的示例..

<xsl:text disable-output-escaping="yes">&lt;Control:Content runat="server" contenttype="&lt;xsl:value-of select="subnode/text()"/&gt;" /&gt;</xsl:text>

此处控件应如下所示生成:对于param“contenttype”值应动态传递...

<Control:Content runat="server" contenttype="ABC123" />

请帮帮我。

2 个答案:

答案 0 :(得分:2)

您不需要(并且最好避免使用)DOE for this

这是一个简洁的解决方案,只需使用<xsl:output method="text">

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>

 <xsl:template match="/*">
  <xsl:text>&lt;Control:Content runat="server" contenttype="</xsl:text>
  <xsl:value-of select="/subnode"/>
  <xsl:text>" /&gt;</xsl:text>
 </xsl:template>
</xsl:stylesheet>

在此XML文档上应用此转换时

<subnode>html</subnode>

生成所需的正确输出

<Control:Content runat="server" contenttype="html" />

答案 1 :(得分:1)

我们正在使用这种技术,但是,我们首先将控件转换为xml然后使用xslt在页面中呈现它。