我有一个Web应用程序,其中aspx页面使用xsl文件。我在aspx页面中编写了以下代码,用于检查工厂是否可用。
Private Function LoadPLants() As Boolean
Dim objPlantXML As New XmlDocument()
Dim objPlantNodeList As XmlNodeList
Dim objPlantNode As XmlNode
Dim strXML As String
Dim strPlantCD As String
Dim strPlantName As String
'Get the list of plants to add to the dropdown
objPlantXML.LoadXml("<ROOT>" & LoadPlants() & "</ROOT>")
objPlantNodeList = objPlantXML.SelectNodes("//ROOT/Facilities")
If objPlantNodeList.Count >= 1 Then
Return 1
Else
Return 0
End If
Response.Write("<SCRIPT language='Javascript1.3'>")
Response.Write("function GetPlants()")
End Function
如果可用,则返回true,否则返回false。现在,我想在我的xsl文件中调用此函数LoadPlants()。基于值true或false,我必须显示一个超链接.ie;如果LoadPlants()返回的值为true,则表示存在植物,超链接应显示在网页中,否则不应显示。下面是xsl代码:
<xsl:when test="TextilePlantCD[.=''] and CountryCD[.!='US']">
<INPUT>
<xsl:attribute name="type">text</xsl:attribute>
<xsl:attribute name="name">txtTextilePlantCD</xsl:attribute>
<xsl:attribute name="size">3</xsl:attribute>
<xsl:attribute name="maxlength">3</xsl:attribute>
<xsl:attribute name="style">text-alignleft</xsl:attribute>
<xsl:attribute name="id">dTex_<xsl:value-of select="BOLDetailID" /></xsl:attribute>
<xsl:attribute name="readonly">true;</xsl:attribute>
<xsl:attribute name="value"></xsl:attribute>
<xsl:attribute name="style">width:35</xsl:attribute>
<xsl:attribute name="onkeypress">gotoNextControl(this);</xsl:attribute>
</INPUT>
<xsl:attribute name="onkeypress">LoadPlants();</xsl:attribute>
<xsl:if test="true">
<img>
<xsl:attribute name="src">../Images/BookOpen.gif</xsl:attribute>
<xsl:attribute name="OnClick">javascript:OpenPlantWindowForTextile('dTex_',"<xsl:value-of select="BOLDetailID" />" )
</xsl:attribute>
</img>
</xsl:if>
</xsl:when>
我尝试了几个if条件,但是当我执行代码时,超链接根本没有显示。这意味着if条件不起作用。任何人都可以告诉我如何从xsl文件中获取aspx页面中函数的值?我是.net和xsl的新手。提前谢谢。