ASP.NET动态创建页面

时间:2009-08-26 12:29:34

标签: asp.net

我正在动态生成存储在字符串变量中的HTML 我想打开一个新窗口,其中包含根据此HTML创建的新页面 这似乎太简单了,但我找不到解决办法。

我使用的是ASP.NET 3.5和VS2008。

谢谢,
保罗。

3 个答案:

答案 0 :(得分:1)

最好的办法是创建一个http处理程序,在web.config文件中注册它以处理动态内容所需的各种请求路径,然后根据HttpContext.Current.Request检测要显示的内容。 。路径。

这样您就不必保存任何文件,而是从字符串变量写入输出流

答案 1 :(得分:0)

您可以在新页面中尝试此操作:

受保护的子Page_Load(ByVal sender As Object,ByVal e As System.EventArgs)处理Me.Load

HttpContext.Current.Response.Clear() HttpContext.Current.Response.ClearHeaders() HttpContext.Current.Response.ClearContent()

HttpContext.Current.Response.ContentType =“text / html HttpContext.Current.Response.Write(YourString) HttpContext.Current.Response.Flush() HttpContext.Current.Response.End()

End Sub

答案 2 :(得分:0)

创建一个带有查询字符串的.ashx页面,例如pagebuilder.ashx?的pageid = 12345

此页面的目的只是基于pageid查询字符串查找会话ID。 e.g。

var page = Session["PAGE_" + QueryString["pageid"]].ToString();
Response.Write(page);

在变量中生成html的页面上,将变量存储在Page_Init

中的Session中

`[“PAGE_12345”] = generatedHtml;

然后在Page_Load上,生成一个javascript,打开到url pagebuilder.ashx?pageid = 12345。

就是这样。您将能够在另一个窗口中打开新生成的html。