如何在asp.net中动态创建.aspx页面

时间:2012-08-24 10:03:37

标签: c# asp.net html

我在网站上有一个名为First.aspx的页面,在他的页面中,我有一个简单的asp.net按钮。

我想要的是,在该按钮的点击事件中,渲染一个新的动态“页面”,可以在新窗口或标签页中打开。

我怎样才能做到这一点?

新页面不在网站中,此页面创建需要在运行时创建,并且需要是动态的。

3 个答案:

答案 0 :(得分:1)

我建议。正如您使用服务器端语言。你不需要物理创建一个页面。您可以根据您在网站上实施路由的URL输入动态显示页面内容。

答案 1 :(得分:1)

protected void Button1_Click(object sender, EventArgs e)
    {

        File.Copy(Server.MapPath("") + "\\abc.aspx", (Server.MapPath("") + "\\" + TextBox1.Text + ".aspx"));
        File.Copy(Server.MapPath("") + "\\abc.aspx.cs", (Server.MapPath("") + "\\" + TextBox1.Text + ".aspx.cs"));

        //.aspx Page

        StreamReader sr = new StreamReader(Server.MapPath("") + "\\" + TextBox1.Text + ".aspx");
        string fileContent = sr.ReadToEnd();
        sr.Close();
        using (StreamWriter Sw = new StreamWriter(Server.MapPath("") + "\\" + TextBox1.Text + ".aspx"))
        {
            fileContent = fileContent.Replace("abc",  TextBox1.Text);
            Sw.WriteLine(fileContent);
            Sw.Flush();
            Sw.Close();
        }

        //.aspx.cs Page

        StreamReader sr1 = new StreamReader(Server.MapPath("") + "\\" + TextBox1.Text + ".aspx.cs");
        string fileContent1 = sr1.ReadToEnd();
        sr1.Close();
        using (StreamWriter Sw1 = new StreamWriter(Server.MapPath("") + "\\" + TextBox1.Text + ".aspx.cs"))
        {
            fileContent1 = fileContent1.Replace("abc", TextBox1.Text);
            Sw1.WriteLine(fileContent1);
            Sw1.Flush();
            Sw1.Close();
        }

    }

答案 2 :(得分:0)

不确定为什么要通过在数据库中存储信息来获得类似结果时创建物理页面,并且具有从数据库读取的通用页面“模板”并根据其他信息填充页面,例如URL ...

无论如何,这是你问题的解决方案,虽然有些陈旧...... creating aspx page dynamically in aspnet