C# XSLT模板使用XML值作为表行';bgcolor';

C# XSLT模板使用XML值作为表行';bgcolor';,c#,xml,xslt,xml-serialization,C#,Xml,Xslt,Xml Serialization,我有一个电子邮件的XSLT模板。我希望能够指定整个模板的颜色(在各种表格单元格等上设置),因此我传递给模板的字段之一是ReportHexColor C#属性-一个十六进制颜色字符串(例如#4F81BD) 无论我做什么,这个值都不会被放置在模板中元素的bgcolor属性中(或者td style=“background color:…”属性中) 在浏览完互联网后,我尝试了: <td bgcolor="{BuildReportData/ReportColourHex}" style="font

我有一个电子邮件的XSLT模板。我希望能够指定整个模板的颜色(在各种表格单元格等上设置),因此我传递给模板的字段之一是ReportHexColor C#属性-一个十六进制颜色字符串(例如#4F81BD)

无论我做什么,这个值都不会被放置在模板中元素的
bgcolor
属性中(或者
td style=“background color:…”
属性中)

在浏览完互联网后,我尝试了:

 <td bgcolor="{BuildReportData/ReportColourHex}" style="font-weight: bold">

以及:

<td style="font-weight: bold>
    <xsl:attribute name="bgcolor">
        <xsl:value-of select="BuildReportData/ReportColourHex" />
    </xsl:attribute>
    ... other text here etc.
</td>

我刚刚无意中发现了这一点。这一切都与XSLT模板中的作用域有关。我试图从
xsl:for each
循环中访问
BuildReportData/reportcolorHex
值。只要我在循环外声明了一个变量来保存reportcolorHex值,它就工作得很好


对不起,浪费时间了

请展示您的源XML和td周围的上下文。请发布足够的详细信息,让我们重现问题。还要解释问题是否仅仅在于生成的HTML没有以您想要的背景色呈现,或者生成的HTML文档是否确实具有空的
bgcolor
属性。
<td style="font-weight: bold>
    <xsl:attribute name="bgcolor">
        <xsl:value-of select="BuildReportData/ReportColourHex" />
    </xsl:attribute>
    ... other text here etc.
</td>