2011-09-12 10 views
2

XSLTでC#コントロールを表示する方法はありますか?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" /> 

私を助けてください。

+0

良い質問、+1。 DOEはほとんど必要ではないので、XSLTアーキテクチャー・モデルを破るため、可能な限り避けるべきです。 –

+0

変換の結果はどうしますか? –

答えて

2

DOEをこのにする必要はありません(使用することをお勧めします)。ここで

だけ<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" /> 
+0

Thats great Dimitre ..期待どおりに動作します。 –

+0

@シヴァ・カラン:あなたは大歓迎です。 –

1

私たちは仕事でこのテクニックを使用していますが、コントロールをxmlに変換してから、xsltを使用してページにレンダリングします。

+0

返事をありがとう。私のシナリオでは、この方法では動作しません。コンテンツはすでにXMLに公開されているため、これは現時点では処理できません。 XMLがレンダリングされている間、私はその値をコントロールとページ上の表示に渡すことでそれを処理する必要があります。 –

関連する問題