你能通过AJAX在非ASP.Net页面中渲染ASP.Net控件吗?

时间:2009-08-02 21:13:57

标签: asp.net ajax asp-classic prototypejs session-state

我们有一个用Classic ASP编写的旧页面,它通过Prototype库的Updater对象调用现有的.asp页面。

这个调用在w / request中传递了一些查询字符串参数,并收到了要更新的params列表以及要在主asp页面上呈现的HTML / JS块。

似乎页面生命周期使事情变得复杂,但在实际的服务器控件或用户控件中实现可能会起作用。

[编辑] 的 我想澄清/简化原始问题:有没有办法在非ASP.net页面中呈现ASP.NET控件(.ascx或服务器控件)?

理想情况下,它将通过AJAX调用并返回一个HTML文本块 - 以及将状态传输到接收页面的某种方式。

3 个答案:

答案 0 :(得分:2)

您可以将控件放在Web服务中,该服务将原始HTML作为输出返回,并从AJAX调用Web服务,使用动态HTML将结果放在任何位置。您可能必须使用控件的输出缓冲区来使其按照您希望的方式工作。

答案 1 :(得分:1)

您可以将IFRAME放入包含aspx页面的asp中,并使用某种机制来传递参数,可能是通过QueryString值吗?

asp页面可以将一个条目(params)写入一个表格,创建一个ID(Guid),它传递给aspx页面,该页面会检索该条目吗?

答案 2 :(得分:1)

假设您的网络服务器可以在目标框架上运行.aspx文件,那么是的,您可以将控件/页面的结果呈现为经典的asp页面,或者是一个普通的旧HTML页面。您不能拥有任何服务器端功能,因此您只需渲染控件/页面的html生成结果。