我希望在aspx页面中使用xsl模板中资源的本地化字符串,如下所示:
<%=GetLocalizedString("grid_numberof_claim")%>
。我正在尝试使用
<xsl:text disable-output-escaping="yes">
<![CDATA[<%=GetLocalizedString("grid_numberof_claim")%>]]>
</xsl:text>
但没用。
实际上我可以在XML节点内传递本地化的字符串,例如“本地化”。但我正在寻找以aspx风格获得其价值的方法。
答案 0 :(得分:2)
无法使用ASPX样式。
您可以使用XsltArgumentList
将参数发送到XSLT模板,如下所述:HOW TO: Execute Parameterized XSL Transformations in .NET Applications
编辑:是的,您也可以在客户端传递参数。
xmldoc = ... // your xml document
var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
xslDoc.async = false;
xslDoc.load("YourTemplate.xsl");
xslt.stylesheet = xslDoc;
xslProc = xslt.createProcessor();
xslProc.input = xmldoc;
xslProc.addParameter("param1", 123);
xslProc.addParameter("param2", "abc");
xslProc.transform();
但客户端引出了另一种解决方案:您可以将您的XSLT文件重命名到ASPX并使用<%= %>
语法