我有一个来自 C# 的逗号分隔列表,我在 XSLT 中对其进行解析并将其加载为下拉列表。用户从下拉列表中选择选项并提交页面后,如果页面中未填写其他字段,我尝试使用此下拉列表的选定选项重新加载页面。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="parseString">
<xsl:param name="list"/>
<xsl:if test="contains($list, ',')">
<xsl:element name="option">
<xsl:attribute name="value">
<xsl:value-of select="substring-before($list, ',')"/>
</xsl:attribute>
<xsl:value-of select="substring-before($list, ',')"/>
<xsl:if test="substring-before($list, ',')=$carrier">
: sel value
<xsl:attribute name="SELECTED"></xsl:attribute>
</xsl:if>
</xsl:element>
<xsl:call-template name="parseString">
<xsl:with-param name="list" select="substring-after($list, ',')"/>
</xsl:call-template>
</xsl:if>
但是在重新加载时,下拉列表中的选定值不会保持不变。但我可以看到符合条件并显示的文本 - 'sel value'。例如,在图像中,您可以看到运营商的文本 - Metro PCS。
任何帮助,将不胜感激。
谢谢。
编辑:我已经为选定的属性尝试了多种方法,例如
<xsl:attribute name="SELECTED"></xsl:attribute>
<xsl:attribute name="SELECTED">True</xsl:attribute>
<xsl:attribute name="SELECTED">selected</xsl:attribute>
它们似乎都不起作用。