如何在asp.net(C#)中创建动态页面?

我在我的网站应用程序中添加了一个页面“First.aspx”。 在First.aspx页面中,我有一个名为btnbutton的按钮。 “onclick”“btnbutton”事件应该打开一个新的动态页面。 我怎样才能做到这一点。? 请记住,创建的新动态页面不在应用程序中。 此页面应该在运行时创建,也可以动态创建。 请帮帮我!

如果您要求在运行时生成ASP.NET页面,那是不可能的。 原因如下:

您需要在运行之前编译ASP.NET页面的代码。 在您的Web应用程序启动后,这是不可能的。

但是,如果您询问页面之间的导航,则可以使用Response.Redirect

 Response.Redirect("http://www.stackoverflow.com/"); 

您可以在ASP.net网站(不在ASP.net Web应用程序中)中创建新的动态文件。 但有一个问题 。 创建文件后,将重新启动整个网站以编译新创建的文件。 因此,会话数据将丢失。

这是创建新文件的代码。

  string fielName = Server.MapPath("~/file.aspx"); //File.Create(fielName); //File.AppendText(fielName); // create a writer and open the file TextWriter tw = new StreamWriter(fielName); // write a line of text to the file tw.WriteLine(@"<%@ Page Language=""C#"" AutoEventWireup=""true"" CodeFile=""file.aspx.cs"" Inherits=""file"" %>       
"); // close the stream tw.Close(); tw = new StreamWriter(fielName + ".cs"); // write a line of text to the file tw.WriteLine(@"using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; public partial class file : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(""new File ""); } } "); // close the stream tw.Close();

我在这个链接中找到了解决方案,它非常有用: 如何动态创建ASPX页面