How to create aspx page at run time in ASP.NET

December 01, 2014 0 Comments

ASPX stands for active server page extension. We know that visual studio create a aspx page for dynamic application. Also one another page is created for business logics. If you want to create both pages(presentation+business logic) through code file then first to create two array for both pages. After that save the file through file handling in same solution.

Source Code

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<html xmlns="">
<head runat="server">

    <form id="form1" runat="server">
      Enter page Name  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

        <br />
        <br />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Created Page" />



Code Behind file

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)

    protected void Button1_Click(object sender, EventArgs e)

        String[] sourcecode ={"<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeFile=\""+  TextBox1.Text.Trim()+".aspx.cs\" Inherits=\""+ TextBox1.Text.Trim()+"\" %>",
                                 "<html xmlns=\"\">",
                                 "<head runat=\"server\">",
                                " </head>",
    "<form id=\"form1\" runat=\"server\">",

        String[] codefile = {
                                "using System;",
"using System.Collections.Generic;",
"using System.IO;",
"using System.Linq;",
"using System.Web;",
"using System.Web.UI;",
"using System.Web.UI.WebControls;",

"public partial class "+ TextBox1.Text.Trim()+" : System.Web.UI.Page",
    "protected void Page_Load(object sender, EventArgs e)",

        File.WriteAllLines(Server.MapPath("" + TextBox1.Text.Trim() + ".aspx"), sourcecode);
        File.WriteAllLines(Server.MapPath("" + TextBox1.Text.Trim() + ".aspx.cs"), codefile);
        Response.Write("Page Created");

    protected void Button2_Click(object sender, EventArgs e)
        Response.Redirect("~/" + TextBox1.Text);

Code generate the following output

Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google