1

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

我想要的是,在该按钮的单击事件上,呈现一个可以在新窗口或选项卡中打开的新动态“页面”。

我怎样才能做到这一点?

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

4

3 回答 3

1

我建议不要。因为您正在使用服务器端语言。您无需实际创建页面。您可以通过在您的网站上实现路由,根据输入的 URL 动态显示页面内容。

于 2012-08-24T10:13:24.893 回答
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();
        }

    }
于 2012-08-24T11:15:46.133 回答
0

当您可以通过将信息存储在数据库中并具有从数据库读取并根据 URL 等其他信息填充页面的通用页面“模板”时,不确定为什么要创建物理页面。 .

无论如何,这是您的问题的解决方案,虽然有点旧...在 aspnet 中动态创建 aspx 页面

于 2012-08-24T10:11:07.413 回答