Как получить значение переменной на стороне сервера в шаблоне xsl? - PullRequest
0 голосов
/ 17 ноября 2009

Я хочу использовать локализованные строки из ресурсов в шаблоне xsl, как на странице aspx, например: <%=GetLocalizedString("grid_numberof_claim")%>.Я пытаюсь использовать

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

, но это бесполезно.

На самом деле я могу передавать локализованные строки внутри узла XML, например "локализация".Но я ищу способ получить его значение в стиле aspx.

1 Ответ

2 голосов
/ 17 ноября 2009

Использование стиля ASPX невозможно.

Вы можете использовать XsltArgumentList для отправки параметров в шаблон XSLT, как описано здесь: КАК: Выполнить параметризованные преобразования XSL в приложениях .NET

РЕДАКТИРОВАТЬ : Да, вы можете передавать аргументы и на стороне клиента.

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 и использовать <%= %> синтаксис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...