XSLT渲染&gt; 和&lt; for> <怎么做我绕过这个?

Jam*_*ell 3 asp.net xslt

我有一些代码包装在xslt文件中的CDATA标记中:

 <span>
   <xsl:text><![CDATA[<asp:LinkButton ID ="]]></xsl:text><xsl:value-of select="ID"/>
   <xsl:text><![CDATA[" onclick="LinkClicked">]]></xsl:text >

   <xsl:value-of select="."/>
   <xsl:text><![CDATA[</asp:LinkButton>]]></xsl:text>
 </span> 
Run Code Online (Sandbox Code Playgroud)

当它呈现在网页是&gt;&lt;,我怎么解决这个得到什么?

现在我知道一个解决方法,因为我可以在渲染后在字符串中进行替换,但这似乎不是最好的方法.

Tom*_*lak 6

您需要更改XSLT代码:

<span>
  <asp:LinkButton ID="{ID}" onclick="LinkClicked">
    <xsl:value-of select="."/>
  </asp:LinkButton>
</span> 
Run Code Online (Sandbox Code Playgroud)

所有这些CDATA杂耍不仅对每个人的眼睛都不好,而且无论你如何看待它都是错误的方法.

asp在XSLT中声明名称空间并使用实际的 ASP.NET代码,而不是看起来像代码的文本.

  • 源不是100%一致,但Microsoft似乎使用`xmlns:asp ="http://schemas.microsoft.com/ASPNET/20"作为XSLT中的asp命名空间声明. (3认同)