2009-11-17 99 views
0

我想在xsl模板中使用本地化的字符串,如在aspx頁面中,如下所示: <%=GetLocalizedString("grid_numberof_claim")%>。我正在嘗試使用如何獲取xsl模板中的服務器端變量值?

<xsl:text disable-output-escaping="yes"> 
    <![CDATA[<%=GetLocalizedString("grid_numberof_claim")%>]]> 
</xsl:text> 

但它沒有用。

其實我可以在XML節點中傳遞本地化的字符串,例如「本地化」。但我正在尋找方式來獲得aspx風格的價值。

回答

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和使用<%= %>語法

+0

唔...不取消我的情況。我正在從客戶端進行xslt轉換,所以我無法傳遞XsltArgumentList。 – Vokinneberg 2009-11-17 13:40:32

+0

很好。謝謝你的回答:) – Vokinneberg 2009-11-17 13:47:41

相關問題