Standards:
xhtml 1.0 transitional
css
client-side: javascript
ajax for remote scripting and asynchronous refresh
xml



Separate CODE from PRESENTATION 
separate stored procedures
separate javascript and other script files
Create .js file and link to it; create .inc vb script (classic asp) and include it


Directory structures
root
   app_code (only for asp.net 2)
   app_data (only for asp.net 2)
   app_themes (only for asp.net 2)
   bin  (components go here, only for asp.net 2)
   css  (all style sheets go here)
   img or images (all related image files go here)
   inc (include files go here, classic asp only)
   js  (javascript files go here)
   pages  (support pages go here, help.htm, about.htm, etc.)
   uc   (user controls go here)
   ws   (web services go here)
   default.aspx
     default.cs

 
Do not Declare defaults explicitly
Why declare default values? It clutters code.
<table style="width:100%; background-color: white; border="0">

our preferred way:
<table>

 
Script (C# / VB / Javascript / etc.)
Why use 3 lines when 1 line is better?
example of wrong:
< %
    End If
%>

our preferred way:
< % End If  %>

 
White Space
100 lines of code is preferred over 130 lines of code, so eliminate all unneccessary white space, empty lines of code.

 
User Controls and Include Files
In aspx, create footer.acsx and topWithSearch.ascx rather than repeating code on each page.

In asp files, use footer.asp and topWithSearch.asp rather than repeating code on each page

 
Stored Procedures
In keeping with separation of code from presentation, use sql stored procedures rather than including sql queries within presentation page. Be sure to ask for naming convention of stored procedures.