【问题标题】:Access .aspx page from XSLT and get the HTML code从 XSLT 访问 .aspx 页面并获取 HTML 代码
【发布时间】:2012-01-04 03:01:59
【问题描述】:

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

请推荐

【问题讨论】:

    标签: asp.net xslt xmlhttprequest


    【解决方案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();
    

    【讨论】:

    • 感谢詹姆斯的回复。实际上,我必须从 XSLT 文件中调用 ASPX 页面,只是因为当前 XSLT 渲染正在此时发生,基于 XSLT 条件,我应该通过将参数传递给 ASPX 页面来从 ASPX 页面获取 HTML 内容。
    • 在这种情况下没有其他方法可以处理。我只需要从 XSLT 调用 ASPX 页面。如果有请提出建议
    • XSLT 并不是为了这个。怎么可能没有别的办法?
    • 好的,谢谢詹姆斯。我会尝试以某种方式解决这个问题。一旦我修复,我会发布它。也就是说,如果您有任何想法/建议,请告诉我。
    • 不管怎样,你将不得不传入某种参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 2012-03-18
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多