我在网站上有一个名为 First.aspx 的页面,在他的页面中,我有一个简单的 asp.net 按钮。
我想要的是,在该按钮的单击事件上,呈现一个可以在新窗口或选项卡中打开的新动态“页面”。
我怎样才能做到这一点?
新页面不在网站中,这个页面创建需要在运行时创建,并且需要是动态的。
我建议不要。因为您正在使用服务器端语言。您无需实际创建页面。您可以通过在您的网站上实现路由,根据输入的 URL 动态显示页面内容。
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();
}
}
当您可以通过将信息存储在数据库中并具有从数据库读取并根据 URL 等其他信息填充页面的通用页面“模板”时,不确定为什么要创建物理页面。 .
无论如何,这是您的问题的解决方案,虽然有点旧...在 aspnet 中动态创建 aspx 页面