从XSLT访问.aspx页面并获取HTML代码

时间:2011-11-22 18:20:06

标签: asp.net xslt xmlhttprequest

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调用或其他请求来实现。

请建议

1 个答案:

答案 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();