- Is it possible with ASP.NET Master Pages to create content pages dynamically? That is, I know we can create content dynamically, but the content pages themselves, can those be created programmatically? I want to give my users the ability to define new content pages (i.e. Categories: Sofas, Tables, Lamps, and add/delete as they see fit) through a management panel. The resulting content pages should have proper URL naming, so that they index properly. An example: http://www.example.com/products/Lamps/contentpage.aspx.
- Is there a demonstration of this somewhere I can view?
views:
140answers:
4You could use the TextWriter class and create all the pages and code behinds you want. That would be a pain forsure but it would work, although i've never done it before, you might run into some issues since it wouldnt be compiled. you can definitely make html static pages
Hey,
If you are looking to build your own, that would be a very tedious job. It would be better to purchase or use an open source content management system to do the job. There are many on the market that are available to you in both categories. This is the primary feature for this type of software package.
Check out www.codeplex.com for some, or there are others to buy like Telligent's package or Telerik's Sitefinity.
Writing .aspx files into your web's folders seems like a serious security risk. If you want users to create their own pages, you might want to store this information in a database and use a VirtualPathProvider to serve up these files to the ASP.NET engine.
Your question is something people struggled alot back then, but these days are much better with a few technologies.
ASP.NET MVC to the rescue! With that, you can have your friendly URLs map to your dynamically created content, so if a user creates a new "Lamp" in the "Products" category, it will be accessed via http://yourhost/Products/Lamp
ASP.NET MVC uses the .NET Routing to accomplish those URLs, and you can use that without a ASP.NET MVC itself if your project have those restrictions. If you cannot use .NET 3.5, go with another URL rewrite tech.