从 XSLT 访问 .aspx页面时遇到困难。
使用 XSLT 1.0 和 .Net 2.0
我正在尝试从 XSLT 访问 .aspx 页面。
此处ASPX页面应作为呈现的HTML内容返回。
HTML内容,我必须放在XSLT文件上。
我的XSLT:
<div>
<xsl:if test="flag">
// I need to call ASPX page and place HTML content from ASPX page
</xsl:if>
</div>
如何调用ASPX页面并将HTML内容放在XSLT文件上?
请建议我。
提前致谢。
修改
经过一些更多的周转工作后,我觉得这只能通过XHR调用或其他请求来实现。
请建议
答案 0 :(得分:1)
我认为你这是错误的做法。不要尝试从文档访问页面,只需使用XsltArgumentList
将数据传递到文档中:
var sbXslOutput = new StringBuilder();
using (var writer = new StringWriter(sbXslOutput))
{
//create an argument list and add some parameters
var args = new XsltArgumentList();
args.AddParam("arg1", String.Empty, "foo");
args.AddParam("arg2", String.Empty, "bar");
//execute the transformation
var xslTemplate = new XslCompiledTransform(false);
xslTemplate.Load("/somefile.xsl");
xslTemplate.Transform(Activator.CreateInstance<XmlDataDocument>(), args, writer);
}
//get the transformed text
string output = sbXslOutput.ToString();