Maxim blogs about a ControlArray he's worked on and Collections a few other things here.
Thanks for mentioning my ControlArray Component and I'm glad you like it! :)
I've been working a slightly big project that is basically a set of E-Commerce controls for having a product catalog, shopping cart, etc.
All you have to do is drag out what control you want (they all have full design time support), change a couple properties to add your own styling and what not and set a couple keys in the web.config file and you're done.
Here's the control list as it stands right now (not totally completed yet)
- CustomerLogin (logs the user in)
- CustomerMenu (shows the state of the user, like how many items are in their shopping cart, if they're logged in or not, account editor, etc)
- CustomerRegistration (works for adding a new customer and editing an existing customer)
- OrderDetails (shows the items in an order, when it was placed, it's status, etc)
- OrdersList (shows all open and closed orders and some summary information. allows for customers to cancel orders that are still open and haven't shipped yet)
- ProductDetails (display the actual product [name, description, properties, image, options, etc] and has an add to cart action)
- ProductList (displays the category tree and all the products and can be filtered by clicking on a category)
- ShoppingCartList (shows all items in the shopping cart as well as allowing the customer to update quantities, delete items, see total, etc)
There are also little things like a base Global class that does custom authentication and combined with a base Page class, allows you to access a custom principal like User.EmailAddres, User.CustomerID, User.FullName, etc. Templating is not yet implemented, but is another thing I will be adding soon, as well as a search control. By making everything controls, you can easily drag and drop them into any ASP.NET app.
The object model is pretty flexible. Product Categories can be created in a tree structure, nested as much as you want. Products can be whatever you want. There are Product Types so you don't have to setup 10 different types of t-shirts and things like that. There are product properties which can either be for display purposes or actual options for the product. You don't have to actually write any code to get it to work, but you can if you want. Each control has events for everything that happens so you can hook in and write your own code or build on top of what's already there. We will be using this on a few customers.
I guess what I'm curious about is what do the rest of you use? IBuySpy? Something you wrote? Something somebody else wrote? Are they adequate? Would you buy something like what I'm working on? If not, why? Not enough features? Need pluggable data sources?
I'm really just curious about this arena. It's one that's been around for a long, long time and I'm wondering how it's matured or lack there of.