Creating a Data-Driven Web Site (Almost) Automatically

If you have a database of some type and need to create ASP.NET web pages to allow users to list, add, edit or delete records from that database, you have a couple of choices. One way is to design and code all the pages yourself (making use of any existing routines you may have). That can be very involved — not only do you have to create the user interface, you also have to figure out the best way to access the database, provide for user authentication, web site security, reporting, data import and export — a whole list of necessary features. In many cases there may be an easier way — an ASP.NET code generator.

There are various code generators available, ranging from simple template types to very sophisticated programs like IronSpeed Designer. Some of these generators offer only minimal help and some are excellent products, but come with a high price tag. I’ve tried several different ones and finally decided on ASP.NET Maker (www.hkvstore.com). It’s reasonably priced at $200 and includes free download of any minor upgrades for 12 months. It works with Microsoft Access, Microsoft SQL Server, MySQL, Oracle or any other database that supports ODBC or ADO connectivity, and just by selecting various options on screen you can generate a full set of web pages to list, add, edit, delete, or search for database records. You can also set up a user registration system, advanced security features, file uploading, simple reports and exporting of data to csv, Excel or Word files.

Need some extra functionality? You can do that too. ASP.NET Maker gives you the option to enter your own custom code (in either VB.NET or C#) for various pre-defined server events (such as “Page_Loading” or “Row_Deleting”). Your code can be stored as part of the.aspx web page or you can select to use a separate “code behind” file. You can also enter Javascript to handle client-side processing like custom form validation. All your custom code is saved as part of the project you’re working on and is automatically included each time you make changes to the project and re-generate your web page(s).

I should mention that ASP.NET Maker uses HTML controls, not asp.net web controls. If you want to use custom code for something other than the server events provided for in ASP.NET Maker, you have a couple of options. There is a switch in the master template file that controls ASP.NET Maker which can be set to add “runat server” to each HTML control; that will allow you to catch certain information on postback. If you’re using a code-behind file and are used to working with regular asp.net controls, you can also add your own form statement. Just insert something like before the statement generated by ASP.NET Maker. Then code your asp.net control(s) inside “form1” and end with a . Once you’ve done that you can manipulate your asp.net controls and the information from those controls in the code-behind page. The only problem is that you’ll need to save your pages that have this kind of customized code and copy them back into your project each time after you re-generate your web pages (to over-write the standard pages ASP.NET Maker creates).

The heart of ASP.NET Maker is the set of screens where you enter the information the system uses to create your web pages:

Data Source Setup:

You use this screen to enter information such as your database type, server name, port (if not the default), user id, password, database name and connection string.

ASP.NET Settings:

This screen lets you set the default date format and whether or not you want to use caching. You can also set various options for file uploading, creation of audit trails, and for form validation processing.

HTML Settings:

This screen lets you enter a title for your website, the character set, font and text size you want to use as a default, a site logo (if you have one), and footer text (if any). There are also tabs which allow you to edit the default theme for your site and the default CSS styles (although I’ve always used the default settings and they seem to work pretty well for our users).

Security Settings:

You can enter a hard-coded administrator ID and password on this screen and you can also set up optional User ID and User Level Advanced Security to protect your data from unauthorized access.

Menu Editor:

The menu editor allows you to modify the default menu that ASP.NET Maker generates for your web site. You can add, edit or delete menu items, move them up or down, hide certain items – even add menu options that redirect to non-ASP.NET Maker pages.

Table Setup:

This is the most complex part of your project setup. The upper section of this page is a grid showing the available options for each table in your database. The lower section of the page contains table-specific options and master/detail setup information for whichever table is currently selected. You can select which tables you want to generate web pages for, what caption you want to display for each field in the table, whether of not you want to apply a filter to the records in the table, how you want the records sorted, and a variety of other items such as whether you want to enable inline add, edit and copy, whether you want to use CAPTCHA on the add page to prevent automated posting, and whether you want to allow updating of multiple records at the same time.

Generate Settings:

This is where you specify the location of your source files and the destination folder for the generated asp.net files. You can also select to automatically browse your web pages once they have been created since ASP.NET Maker uses a copy of the freeware Cassini web server to run asp.net pages.

ASP.NET Maker also comes with a fairly comprehensive help file which covers how to create your project step by step. In addition, the help file includes brief tutorials on master/detail files, file uploading, user registration, advanced security options, custom views, and creating simple reports.

I’ve actually used ASP.NET Maker to generate the majority of the code for a human resources package and for a time clock system. It won’t do all the work for you, but if you’re looking for a quick way to develop a data driven web site with minimal hand coding, ASP.NET Maker may be worth looking into. It has limitations, but it does pretty much what it claims to do and it seems very stable — thanks no doubt to the sizable number of people who use it and have beaten most of the bugs out of it.

I’ve covered the main points in this article, but it’s basically just a quick overview of the product. If you’re interested getting a little more in-depth look at ASP.NET Maker, you can download a trial version at http://www.hkvstore.com.

HTML 101 – Tables Or Grids in HTML

Tables are one of the most important and powerful tools for any web page. Only the simplest of web sites can look right without the use of tables. A table is commonly used as a matrix or grid. They are also great for keeping text in line with pictures. Especially if the pictures vary in size, there may be no other way to get your page to look right. Many websites with multiple columns use tables within tables to keep everything lined up and separated neatly.

Tables in HTML seem to baffle people. But if you break them down into their components, they are really quite simple.

A Simple Table:

To tell the browser your are beginning a table, use the Table tag (

). Tables have rows and cells (columns). To start a new row, use the tag To start a new cell, use the tag. To end a cell, use ; to end the row, use ; and to end the table use Here is a simple 3×3 grid in HTML NameSalaryMaritalSteve$200.00SingleMaria$275.00MarriedMaking the table look just right.

Using the example, above, the browser will make the table as small as possible to fit the material in. If you want to spread it out some more, you can adjust the table width by “hard-coding” the desired width in pixels, or by a percentage of available screen width.

will make the table span 80% of the available screen width.

will make the table span 400 Pixels wide.

You will want to be careful when forcing tables to be a certain width, because some people still have smaller screen resolutions and your tables may look awry.

You can make the individual columns (cells) different widths as a percentage of the table width, or fixed pixel width as well:

You can change the text alignment.

Large amounts of text or large images:

If the contents of the cells in your HTML table are of markedly different size, the text in the smaller of the cells will be aligned centered top to bottom. A very common reason for needing to fix the vertical alignment is if you have a caption or description in one column, and a large picture in the column next to it. If this does not look right, you can change the vertical alignment to make it line up at the top of the cell:

Table Borders in HTML

Left to their own devices, most web browsers will put a 1 pixel wide border around the cells by default. You can make a borderless table by specifying or you can make the border thicker by increasing the border. For example,

You can change the border color if you’d like. You can use plain English words for the border color, or the RGB function, but they may not work on all browsers. The safest way is to use the Hexadecimal notation for the actual color. This gives a finer control over the color.

Color Name: will make the border a dark blue color
RGB Function: will make a bright pink border
Hexadecimal: will make the border a lime green color

A good resource for HTML color names and their hexadecimal equivalents can be found at w3schools.com/tags/ref_colornames.asp

Summary:

This is only a basic introduction to HTML tables. You can do much, much more with tables. For example, you can define header rows that will stay in place when scrolling up and down on very long tables.

You can set the background color for the entire table.

You can change the background color of the individual cells, and much more.

Pondicherry, India

Summary

Pondicherry, India is a destination to the past as well as the present. Located on India’s Coromandel Coast, Pondicherry celebrates its French Colonial history, blends it with the local Tamil culture, and fills the senses of visitors with a rich and varied heritage blended with grace and hospitality. Such a place tempts the theme traveler. The theme: Find traces of the French East India Company.

An Excerpt from The Star of India

The Dupons beheld a recently established botanical garden in the French Quarter about two blocks west of a magnificent palm tree-fringed promenade. Romantics walked there to enjoy the warm sea breezes. There, spectacular red sunsets were framed by the gentle sea of the Bay of Bengal. The town was in harmony with nature and its heavenly bodies. The name of every street began with the word rue. Dumas kept the Dutch-designed grid. The streets intersected at right angles. The current governor did add his hand to the local engineering when he encircled the entire French Quarter with a spectacular boulevard. Now, the French portion of Pondicherry was softened into the shape of an oval.

The carriage stopped at a colonial house with large windows. The shudders were constructed of teak, and teak doors, twice the size of average house doors, hung in their traces. This house featured a spectacular veranda on Rue Romain Rolland. The veranda was adorned with wicker furniture. The Dupons were provided with a pair of rooms in that expansive place, including one with a small private balcony that offered a view of the Bay of Bengal.

A light wind caught the high fronds atop the tall thin trunks of Pondicherry palm trees, to rock them gently like babes in their mother’s arms. The same breeze carried delicious fragrances of food that tempted the nostrils of Ignacio and his teenage son. They walked down well-engineered and remarkably straight Mahe De La Bourdonnais Street, in the French Quarter. They walked toward the Bay of Bengal. The Dupons had come out to socialize and find dinner. It was their game not to plan such outings. Instead, they preferred chance encounters and clues to steer them where they were supposed to dine. Ignacio thought they both liked that because so much of their lives had become structured. The evening time was their time for √©lan… to enjoy. Jean-Louis simply thought it fun to try new things, and he relished this daily time with his father. It seemed to him that they had become closer now that the father believed that his ambition for his child would be realized.

“What food is that?” Ignacio asked as he lifted his head slightly to catch with his nose more of some delicious sweet-scented aroma that wafted by. Jean-Louis decided that it was a crepe that his father smelled for he knew that Ignacio was most fond of sweet things to eat. He detected coffee on the wind, as well. Thus, his guess was that should they seek the source of the sweetness they would find an India coffee house at the end of it. That sounded like a suitable goal to Ignacio, who would be willing to forego a main course if he could have two or three desserts in place of it.

No more than two turns around a block they found it. The coffeehouse had French doors open wide in welcome. White sheers danced with the wind, drifting in and out of the eatery. The coffee aroma grew stronger as father and son approached the house. Ignacio saw an India man hand-grinding coffee beans fished from a sack. About forty people sat at an array of small tables inside the coffeehouse or outside either of the three French door entrances. The strange thing about coffeehouses, like this one in India, was that because European knowledge of coffee origins was associated with the Middle Eastern desert regions, the coffee houses in France tended to be decorated like the ones that the Arabs frequented. Yet, here in Pondicherry, the coffee houses packed in the trappings of France and India more than Arab. Jean-Louis pointed out the thing that Ignacio wanted. Two workers busied themselves at a griddle making light crepes filled with sweet and savory chocolate or raspberry sauces and dusted with cinnamon or powdered sugar. Hungrily, Ignacio ordered a plate of each variety while he had his son to get the coffees and go outside to snare a table for two out under the fading blue India sky. At the table, they split the spoils so that each of them would have a chocolate and a raspberry crepe.

Commentary

The Star of India is a novel that will be published in the summer of 2014. It is the second of a three novel story that began with A Voice from New Mill Creek: The Methodists. If you would like to read a Trip Advisor report on Pondicherry, click http://www.tripadvisor.com/Tourism-g659792-Pondicherry_Union_Territory_of_Pondicherry-Vacations.html. Those who love to see worldwide beach photography will enjoy the blog site of Don Charisma. Click http://doncharisma.org/