我正在动态生成存储在字符串变量中的HTML
我想打开一个新窗口,其中包含根据此HTML创建的新页面
这似乎太简单了,但我找不到解决办法。
我使用的是ASP.NET 3.5和VS2008。
谢谢,
保罗。
答案 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。