Blog: Posts from March, 2010

Posts from March, 2010
Saturday, March 27, 2010PrintSubscribe
Custom Page Background

This is the standard home page of a Web Site Factory application generated by Code OnTime Generator. You can quickly add a custom background to this or any other page with a custom CSS stylesheet.


Open your project in Visual Studio or Visual Web Developer and create a new CSS style sheet in the same ~/App_Themes folder of your project that contains the file.


Type the following CSS rules in the style sheet:

.pages_home_aspx  #PageContent
   background-image: url(../_Shared/SettingsGraphic.jpg); 
   background-repeat: repeat-x; 

The rule will change the home page content area to display the standard SettingsGraphics.jpg image as the background image across the top of the page.


We have copied the standard Windows Vista background wallpaper 26.jpg to the folder with our CSS file and changed the CSS rule to

.pages_home_aspx  #PageContent
   background-image: url(img26.jpg); 
   background-repeat: repeat-x; 

The home page of the app has changed as shown in the picture.


The CSS class pages_home_aspx is automatically assigned to the home page by the application framework. In fact, every page of a Web Site Factory application automatically assigns its own class name to the content container element. This allows creating CSS rules with precise targeting of individual pages.

The styling of all pages in the generated web applications is controlled entirely by a collection of CSS stylesheets that make your application look like Microsoft SharePoint Services web site by default.

Disable the stylesheet and it turns into a “black and white” canvas.

If you feel an inspiration then go ahead and create your own masterpiece!


Labels: Tips and Tricks
Saturday, March 27, 2010PrintSubscribe
Integrating ELMAH in Code OnTime Projects

Q. I have another question. I just implemented ELMAH into my solution and
am having some difficulty because every time I use the designer and
regenerate the solution the Elmah configuration entries get
overwritten in Web.Config. I'm sure others have run into this before.
How would you suggest I remediate this issue?

Arthur Djavairian

A. You can configure the project to execute custom Web.Config modification instructions as described at /blog/2010/03/customizing-webconfig.html.

ELMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.

Arthur has shared with us his configuration settings.

The following is the markup to add ELMAH error logging to a Code OnTime project.  Make sure to copy the instructions including the text in bold.

AppendChild: /configuration/configSections

              <sectionGroup name="elmah">
                       <!-- NOTE! If you are using ASP.NET 1.x then remove the
                requirePermission="false" attribute from the section
                elements below as those are only needed for
                partially trusted applications in ASP.NET 2.0 -->
                       <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
                       <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
                       <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
                       <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
                       <section name="errorTweet" requirePermission="false" type="Elmah.ErrorTweetSectionHandler, Elmah"/>

InsertAfter: /configuration/connectionStrings

               <security allowRemoteAccess="1"/>
           Use to log errors to Microsoft SQL Server 2000 or 2005
           using ASP.NET 2.0. Set value of connectionStringName attribute
           to the name of the connection string settings to use from
           the <connectionStrings> section.
               <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="SimplePaymentPlans"/>

AppendChild: /configuration/system.web/httpHandlers

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>

AppendChild: /configuration/system.web/httpModules

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>

AppendChild: /configuration

   <location path="elmah.axd">
               <allow roles="Administrators"/>
               <deny users="*" />

Saturday, March 27, 2010PrintSubscribe
Standalone ASP.NET Membership Database

Web Site Factory and other premium projects integrate ASP.NET Membership, a built-in way to store and validate user credentials. You can enable ASP.NET Membership by selecting the membership option in the code generator project wizard. This will enable numerous membership features including a fly-over sign-in window, self-service membership enrollment, membership bar, and membership manager.


The configuration of your project will be automatically changed to support the default membership provider available in ASP.NET. This provider defines a connection string that points to a local instance of Microsoft SQL Server Express. The provider will automatically connect to the server and dynamically create a database to maintain users, roles, and other membership features. The database will be created under ~/App_Data folder of your project.

This works great on a development machine with installed SQL Server  Express. There are many situations when you want to use a standalone membership database or store ASP.NET membership data structures directly in your own database.

Project wizard offers an option that will enable a standalone membership database configuration. Here is the screen shot of the project wizard with the the standalone membership database enabled. 


The connection string in the screen shot looks as follows:

Data Source=.;Initial Catalog=aspnetdb;Integrated Security=True;

We have configured the standalone membership database with the name aspnetdb.

You can read more about the configuration process at

These are the steps that we have taken to create the aspnetdb database:

  1. We have started aspnet_regsql.exe from Windows Explorer as shown in picture.
    The path to your instance of aspnet_regsql.exe:

  2. We have clicked Next button in ASP.NET SQL Server Setup Wizard:

  3. We have continued to the next step to configure SQL Server for application services:

  4. We have entered “.” as a server name and “aspnetdb” as database name.
    A few more clicks on the Next button have done the job for us. The database has been created. We have returned to the project wizard of our code generation project and configure the provider name and connection string of the newly created membership database.