动态ASPX通过代码隐藏

问题描述:

添加到当前的解决方案,我想创建通过代码behind..forexample当前的解决方案动态aspx页面我有一个2文本框一个用于页面标题另一个另一个用于网页内容和一个按钮......只要按下该按钮,就应该在当前的解决方案中创建一个aspx页面,并且应该包含在当前的解决方案中。动态ASPX通过代码隐藏

需要帮助...

+0

你能更具体吗?你想有一个可以通过浏览器访问的网页,它会在你的解决方案中创建新的文件? – 2010-02-18 14:07:49

+0

是url重写的一个选项? 并存储在数据库中的数据和检索您content.aspx?内容识别= 1还挺东西 – 2010-02-18 14:08:10

+0

@Seth,是准确的,我想要那个.. – 2010-02-18 14:21:47

你究竟想要完成什么?我很难理解什么时候这会有用。

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

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

是否有一个特定的原因,你想使用一个网页来修改你的项目文件?

+0

@Seth,你是对的,我可以使用CMS,但我的WebApplication的1米想的建立是什么工作像CMS的页面/内容添加。 – 2010-02-18 14:36:38

+0

@ Seth,但我不能使用CMS coz,Maintin'内容是我的应用程序中的一小部分。 – 2010-02-18 14:37:44

+0

@Pranali Desai,你可以构建一个非常小的'内容管理系统',它处理两个参数title和maincontent,就像我在之前的评论中所说的:) – 2010-02-18 15:09:18

你有没有考虑过使用Visual Studio宏来实现这个目标?我没有任何可以分享的例子,但是已经写出了可以生成内容并添加到项目中的吨。这是第一次有点痛苦,但一旦拥有它就很容易扩展。也许T4有一些可以帮助你的东西?

如果您使用的是“网站项目”(不是一个Web应用程序项目),那么这应该是很容易的,因为这个项目类型没有一个项目文件和所有文件,这存在于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)); 
+0

当然,如果项目在执行时打开,则需要手动刷新才能显示新文件。目前还不清楚这是否会工作的OP的需要或不... – 2010-02-18 14:20:25

+0

@马丁日Thnx,但中号使用Web应用程序项目 – 2010-02-18 14:22:58

你真的需要一个内容管理系统。就这么简单。我的朋友,使用适当的工具来完成这项工作。有很多免费和开源的选项。看看他们。