如何动态创建ASPX页面

时间:2011-01-22 13:16:38

标签: asp.net dynamic

我在asp.net页面,文本框和按钮上有两个控件,我想将新页面写入文本框,然后当我点击按钮时,我想创建带有文本框文本的新asp.net网页。你想让我更喜欢这样做什么?有没有一步一步的教程或你以前做过的任何代码?谢谢asnwers。

关于我想要的更多细节。

文本框控件文本是“联系人”,然后单击我的按钮控件。按钮取文本框文本“联系人”并创建新的Web表单页面,其名称为“contact.aspx及其代码页contact.cs”。而已。只需按一下按钮,即可在根目录下创建新的Web表单页面。

可能只有一个代码行,如

Page pg =new Page(); pg.create();

5 个答案:

答案 0 :(得分:1)

您可以使用File.WriteAllText将文本框的内容写入应用程序池用户有权写入的任何位置。


从您的编辑中看来,您正在寻找CMS / wiki类型的功能。 .NET框架中没有内置的东西。

我建议你去寻找wiki软件。

答案 1 :(得分:1)

无需担心大码等

您可以使用我博客中解释的2个简单步骤创建它

  1. 创建一个空白页面,然后使用“文件”概念进行复制。把它保存为你想要的名字。
  2. 尝试将新创建的页面内的内容更改为“顺利运行”
  3. 请访问我的博客,例如解决方案

    Click here for Solution Post

答案 2 :(得分:0)

您可以使用Page.ParseControl方法。

请注意,它不支持您可以使用真正的ASPX或ASHX文件执行的所有操作,但它适用于简单的事情。这里有一个例子:Using Page.ParseControl to add new control from Control Tag

答案 3 :(得分:0)

有很简单的方法可以做到这一点。它正在处理复制你的页面的原则,你应该把带有你想要在其他页面上使用的控件的页面。首先,您需要using System.IO;,然后您需要此代码

 protected void Button1_Click(object sender, EventArgs e)
{
    try
    {
        File.Copy(Server.MapPath("") + "\\Submit.aspx", (Server.MapPath("") + "\\" + TextBox1.Text + ".aspx"));
        File.Copy(Server.MapPath("") + "\\Submit.aspx.cs", (Server.MapPath("")+ "\\" + TextBox1.Text + ".aspx.cs"));
        Response.Redirect(TextBox1.Text + ".aspx");
    }
    catch
    {
        Response.Write("<script>window.alert('This page is taken. Please change name!')</script>");
    }
}

正如您所看到的,您正在处理的页面称为“提交”,并且您的页面的新名称被称为textbox1.text。 我希望这能帮助你和其他任何人。

答案 4 :(得分:0)

enter link description here 在一段时间之前,我在一个网站上看到了一个逻辑问题,一个人就像这样给出问题 “在我的网页应用程序中,我在此页面中有一个名为First.aspx的页面;我有一个简单的asp.net按钮控件。我想要的是,在该按钮控件的click事件中,创建(渲染)一个新的动态&#34;页面&#34;可以在新的窗口或标签中打开“ 。 这里我们给出一个示例,在运行时创建一个新的.aspx页面。我们还提供了提供页面名称的选项。用户可以随心所欲地给予。像Google博客一样,我们在运行时创建新页面。新页面不在网站中,此页面创建需要在运行时创建,并且需要是动态的。