我对 XSL 样式表比较陌生,所以请耐心等待。
我的 .xsl 中有一个嵌入式 C# 块。它在那里是因为我需要一些可以接收一串数字的东西(例如:“1,3,5”)。我想要它到','上的数字。代码块是 XSL 循环的一部分,因此它传递它在哪个迭代中,并将该数字与通过字符串传入的列表进行比较。如果迭代计数在列表中,则返回 true。如果不是,则返回 False。字符串也可以以“all”的形式出现,在这种情况下只返回 true。
这就是我想出的:
<msxsl:script language="c#" implements-prefix="user">
<![CDATA[
public bool showStoryImg(string desiredImgs, int currentNum){
bool rtnVal = false;
try
{
if (desiredImgs == "all")
{
rtnVal = true;
}
else
{
string[] numStrArr = desiredImgs.Split(',');
int[] values = new int[numStrArr.Length];
for(int x = 0; x < numStrArr.Length; x++)
{
values[x] = Convert.ToInt32(numStrArr[x].ToString());
}
foreach(int y in values)
{
if(currentNum == y){
return true;
}
else
{
rtnVal = false;
}
}
}
}
catch(Exception e)
{
rtnVal = false;
}
return rtnVal;
}
]]>
</msxsl:script>
但是我担心我的问题是 XSL 无法使用 .NET 库,因此为什么这段代码不起作用。关于我应该如何处理这个问题有什么建议吗?