动态创建ASP.NET内容页面

时间:2010-01-22 19:41:49

标签: c# asp.net master-pages

  • ASP.NET Master Pages是否可以动态创建内容页面? 也就是说,我知道我们可以动态创建内容,但内容页面本身是否可以通过编程方式创建?我希望通过管理面板为我的用户提供定义新内容页面(即类别:沙发,桌子,灯具,以及他们认为合适的添加/删除)的能力。生成的内容页面应具有正确的URL命名,以便它们正确索引。 例如:http://www.example.com/products/Lamps/contentpage.aspx
  • 我可以在某个地方展示这个吗?

4 个答案:

答案 0 :(得分:3)

你的问题是当时人们挣扎的问题,但现在用一些技术会好得多。

ASP.NET MVC救援!这样,您就可以将友好的URL映射到动态创建的内容,因此,如果用户在“产品”类别中创建新的“灯泡”,则可以通过http://yourhost/Products/Lamp

访问它

ASP.NET MVC使用.NET Routing来完成这些URL,如果您的项目有这些限制,您可以在没有ASP.NET MVC的情况下使用它。如果您不能使用.NET 3.5,请使用其他URL重写技术。

答案 1 :(得分:1)

将.aspx文件写入网络文件夹似乎是一个严重的安全风险。如果您希望用户创建自己的页面,您可能希望将此信息存储在数据库中,并使用VirtualPathProvider将这些文件提供给ASP.NET引擎。

答案 2 :(得分:0)

您可以使用TextWriter类创建所需的所有页面和代码。这将是一个痛苦的事,但它会起作用,虽然我以前从未这样做过,你可能会遇到一些问题,因为它不会被编译。你绝对可以制作html静态页面

答案 3 :(得分:0)

如果你想建立自己的,那将是一项非常乏味的工作。最好购买或使用开源内容管理系统来完成这项工作。市场上有很多可供您使用的产品。这是此类软件包的主要功能。

查看www.codeplex.com,或者还有其他人可以购买像Telligent的软件包或Telerik的Sitefinity。