动态aspx通过代码隐藏添加到当前解决方案

时间:2010-02-18 14:04:27

标签: .net asp.net

我想通过代码隐藏在当前解决方案中创建一个Dynamic aspx页面。例如,我有一个用于页面的2个文本框 - 标题另一个用于页面内容和按钮...每当按下该按钮时,应该在当前解决方案中创建一个aspx页面,并且应该包含在当前解决方案中。

需要帮助......

4 个答案:

答案 0 :(得分:0)

您是否考虑过使用visual studio宏来完成此任务?我没有任何可以分享的例子,但已经写了很多东西,可以生成东西并添加到你的项目中。这是第一次有点痛苦,但是一旦你拥有它,它很容易扩展。也许T4有一些可以帮到你的东西?

答案 1 :(得分:0)

如果您正在使用“网站项目”(而不是Web应用程序项目),那么这应该很简单,因为此项目类型没有项目文件,并且网站根文件夹下面的所有文件都是自动成为解决方案的一部分。

因此,您只需创建一个ASPX文件并将其存储在应用程序的根文件夹下,例如:像这样(非常简化):

var content = "<%@ Page Language=\"C#\" %><html><head runat=\"server\"><title>"
  + txtTitle.Text
  + "</title></head><body><form id=\"form1\" runat=\"server\">"
  + txtContent.Text
  + "</form></body></html>";

System.IO.File.WriteAllText(Server.MapPath("~/newfile.aspx", content));

答案 2 :(得分:0)

你到底想要完成什么?我很难理解这会有用。

如果您在开发过程中尝试简化文件创建,那么您可能不应该使用网页作为工具。您应该考虑VS宏或模板或其他一些以IDE为中心的过程。

如果您希望最终用户创建新内容,您可以考虑使用预先存在的内容管理解决方案或在数据库中存储内容并通过单个动态页面(例如Content.aspx或其他内容)检索内容。这样您就不必担心用户创建具有无效名称或重复文件或类似内容的文件名。

您是否有特殊原因要使用网页修改项目文件?

答案 3 :(得分:0)

您确实需要内容管理系统。就这么简单。我的朋友,请使用适当的工具。有很多免费和开源选项。看看他们。