This article describes a set of ASP.NET custom controls that make it quick and easy to add a forum to any web page. The forum code was initially written using VB script and ASP pages and one of the main goals was to mimic the look and feel of the CodeProject forums. Subsequently, the forums have been re-written in C# as ASP.NET custom controls. When the forums are viewed in Tree View mode, the look and feel is very similar to the CodeProject forums. However, in Flat View the forums look have been designed to look more like the forums found at http://www.asp.net/.
The Riverside Internet forums presented here are part of a larger set of ASP.NET custom controls that make up the Riverside Internet WebSolution. The complete WebSolution, as well as containing forums, provides controls for managing folders, documents and general web content. Eventually it is hoped that all of this code will be submitted to CodeProject.
Creating a DotNetNuke® Module - For Absolute Beginners!
Posted 27 Jan 2006
This article explains in detail the process of creating a DotNetNuke module.
ASP.NET Expand/Contract DataGrid
posted 3 Feb 2004
The ASP.NET DataGrid is very powerful and robust. However, some of the things we need it to do require lots of custom code. Denis Bauer's HierarGrid is an example of a very sophisticated datagrid. Unfortunately, my project needed the ability to expand and contract DataGrid columns rather than DataGrid rows, so I implemented the ExDataGrid server control which is described in this article. Much of the code logic was borrowed from HierarGrid.
You can check out the HierarGrid here.
You can also check out a live demo of ExDataGrid here.
Posted 18 Apr 2004
One of my most used ASP.NET control is DataGrid. Presenting data from tables is very easy and nice with only one exception - the page navigator. Showing only page numbers or only two links (to previous and next page) is insufficient for me, and completely inexplicable for my clients. So I decided to create DataGridNavigator Server Control, the main task of which is to generate the page navigator for DataGrid object. The navigator can have the following buttons:
* to jump to the first / last page (text or image)
* to jump to the previous / next page (text or image)
* to jump to the page no. ... (text only :) )
The navigator control is rendered independently of the DataGrid control, and you can bind multiple navigators to one DataGrid.
Posted 5 Oct 2005
While browsing The Code Project, I ran across an article by micahbowerbank which provided a control for alphanavigation. I thought this was great!!! A client had requested a feature just like this. My initial idea was to use a simple DataGrid and handle everything myself... but dragging and dropping this control sounded too good to be true. I downloaded the control and tried to create a demo project to use it. Well immediately, I saw that the control seemed to need to open a connection and then it wasn't closed. I tried closing it and it bombed. I read a little into the messages following the control and decided it might be a good opportunity to learn about making your own custom controls. Waaalaa... here is my creation, really not much of micahbowerbank's creation is left... maybe small references here and there... and there are a lot of functionalities that you may decide to add to the control...however I laid out what I feel are the base parts of the control for you. Please be kind in your reviews as this is my first control ever!
An introduction to a post-relational database for .NET: Matisse - Part 6
Posted 3 May 2004
All the basics of the Matisse post-relational database have already been covered by this series of articles, along with its advantages, such as ease of use and better performance.
This article covers ASP.NET programming with the post-relational database. I have created two demo programs to illustrate this article. The first one is a Windows application that loads data with images into a database. The second one is an ASP.NET application that retrieves the images with meta data from the database and displays them using DataList. The programs are straightforward but there are a few tips that make the programs more compact and provide better performance.
Here is the list of previous articles:
* Part 1: Overview of Matisse.
* Part 2: Schema definition.
* Part 3: .NET programming to insert objects.
* Part 4: Using ADO.NET to retrieve objects.
* Part 5: Using Object-APIs for better performance.
Convert .NET Class to a DataGrid
Posted 19 Jul 2005
Everywhere you would see the OOPS concept and emphasizing you to work the oops, but ask anyone how to create a DataGrid from an ArrayList which is a collection of same class type, you will find people saying go for DataSet or create DataTable rows from these ArrayList items. I too faced the same problem when I was asked to design a DataGrid and what I got from the C# team was just an ArrayList.
I'm damn sure, one of you who is reading this article would say that it is still possible in DataGrid and one can use the "." operator, but if I ask you how to do sorting and paging on them, and what if the item is inside the ArrayList then you might not have any answer.
I am not saying this is 100% right, but this is one of the easiest ways of converting an ArrayList (which is a collection of a specific class type) to a DataTable, where you can have sorting, paging and filtering on the DataGrid. Since whatever DataTable you form finally has valid column names.
Posted 5 Oct 2004
I wasn’t really sure if Google was not being effective, or if it was just me. I had been surfing the web for days searching for a simple solution to a simple problem: to be able to navigate through a database, using VCR-style controls (I can’t believe I’ve just said VCR…I meant DVD controls.)
In ASP.NET, the easiest way to move from record to record is putting a datagrid or a datatable, which was exactly what I didn’t wanted to use.
I also came across a C# soft that did pretty much the same as Database Navigator, but the code was extremely difficult to understand (at least for me…of course). Having a deadline and no solution in hand, this is what I’ve developed, which by the way, works nice
Applying Robustness Analysis on the Model–View–Controller (MVC) Architecture in ASP.NET Framework, using UML
Posted 23 Aug 2004
Recently, I wrote an article on the development of a master-page framework in ASP.NET. Master Page framework was an extension of the ASP.NET UI.Page framework, and most of it is related to the static appearance of the Page. Then, I started receiving emails about the dynamic behavior of pages, and controlling the interactions between user-controls on a page, and communication between different pages etc. So, I thought there is a need of discussion on this aspect of the .NET Framework, and this would not be possible without mentioning the Model-View-Controller Design Pattern, that is embedded everywhere in the ASP.NET Framework. This article is composed of two parts. In the first part, we will discuss in detail about the Model-View-Controller Design pattern in context to ASP.NET, using UML, and finish our discussion with writing an example application as a bonus for its implementation. In the next part of the article, we’ll wrap up our discussion with dynamic aspects of pages by explaining different types of fine-grained controllers with their design and implementation, and we’ll discuss about the details of the HTTP pipeline too and what is the best approach to use it; so stay tuned, lot to come :).
A New Approach to Designing Web Applications
Posted 10 Feb 2006
With all the hay being made about UML modeling, you'd think that was the only way to design an application. I've got news for you. It's the wrong approach.
Now, before you flame me for my heresy, read the rest of this paragraph. Much like the 60% genetic similarity between the genes of humans and fruit flies, almost all web applications are identical. Except that I would put the commonality at closer to 75%-90%. And I challenge anyone who's developed more than two web applications to dispute this fact. Face it, almost all that most applications do is get data, do something to it, then put it back. There's even an acronym for these applications: CRUD (Create, Retrieve, Update, Delete). This, of course, begs the obvious quip "I've sure seen a lot of CRUDdy applications in my day," or "That application is CRUD!"
Rapid Web Application Development
Posted 1 Apr 2005
The Multiformity engine consists of controls that are easy to configure, and accommodates many of the common needs for a web application that connects to a database. It automatically provides the abilities to add, edit and read data, as well as includes integrated help, treeview and scheduling controls and many other functionalities.
Note: The code has been converted and upgraded to ASP.NET 2.0 :D.
The purpose of this toolset is to allow for your development team to focus on the "rocket science" behind a specific project, rather than the mundane, day to day details of the given application. Below are a few screenshots of the inherent functionality of this system
An extended GridView that allows inserting rows
Posted 23 Feb 2006
This article describes (yet another) insertable GridView. You probably know that the GridView control is the preferred control in ASP.NET v.2 to display and edit tabular data. Although GridView is improved over the previous DataGrid control, it still lacks the capability of inserting new rows. Microsoft says that you can use the FormView or DetailsView components to insert a new row. However many times it is convenient to add a new row in-place. The modified web server GridView control I present makes this possible by adding a 'plus' image in the footer row. When pressed, a new row is added to the database with default values and the grid shows the new row in editing mode, at the bottom of the last grid page (see image below). If you press the cancel button the new row is deleted from the database. The sorting of the GridView is restored after editing the new row.
Insertable gridview when a new row is added
Besides the insert functionality, the code adds automatically button images in the first column of the grid for Select, Edit, Delete operations.
Editable Datagrid Binding - VS 2003 RAD approach (Asp .Net 1.1) - EditGrid
Posted 10 Feb 2006
This article outlines the fastest and simplest way to develop an Asp.Net 1.1 editable datagrid using VisualStudio 2003.