When we start a new project, there are some common practices that should be followed on the following project. Regarding my development experience on previous 12 ASP.NET projects, I have listed some few practices which can be followed by a developer while developing an ASP.NET application.
1. Include cookie based “Remember me” check box.
2. Include a “Forgot password” link, the user can request for password.
3. There will be a test log-in page before release the product.
4. If the user doesn’t interact with the application for 30 minutes (asp.net default), and tries to interact after then the user will be automatically redirected to the log-in page. However we can override the authentication timeout value.
# Relevant resources:
1. <ASP.NET 2.0> Login Controls
2. Building a Custom Registration and Login Control
1. Use verdana as text font.
2. Normal text 10pt, paragraph text 11pt, heading text 12pt, bold (or inlcude in H1 html tag).
3. UI controls having right justified caption, and a spacer of 10 pt width between that.
4. Have common header, footer among all the pages. The footer will include the copyright text.
1. Date format:
All dates will be considered in this format: MM/DD/YYYY, or the format specific to target culture.
2. Money format:
All money formats will be considered in 2 degree precision.
1. When the user clicks to “Save” data, any field that is bound to validation logic, for which the validation logic fails (for example: no data has been provided for a “Required” field) will show a red “Validation” message at the right side of that control. Once data are entered and the focus is changed to other controls that red “Validation” message will be disappeared.
Here are the common validation types and messages that will be used in the application:
a. Required: “Required”
b. Email address format: “Valid email address required”
c. Date format: “Not a valid date”
d. Number: “Not a number”
e. Fractional value: “Enter a valid number or value”
2. Include “*” for required fields and a text “* indicates required fields”, at the top right of the UI panel.
3. Text length: when the user exceeds the recommended length of text, a message box will be shown automatically and no characters can be entered.
When there is required to post back any control during the data insertion and the controls are placed at the bottom of the page (to which the user has been reached by scrolling the window), the next control will be automatically focused after the post-back.
Focus in ASP.NET Controls
1. Include ‘Delete Confirmation Box”
2. Include Paging
3. Include Sorting
4. For action buttons use text/ image
Data can be updated on the grid.
2. Details panel
Details content will be placed on the same caller page and can be updated.
3. Pop-up page
Content will be shown to show the details info of the corresponding record.
4. Multiple pages
a. Include back, next button to go to other portions of the corresponding entity or data table row.
b. Include save, cancel button
c. save data to database when any of the navigation button for the corresponding record is clicked.
# Relevant resources:
1. <ASP.NET 2.0> "DetailsView" Control
2. <ASP.NET 2.0> "FormView" Control
Generally web application pages may have graphical images and styles for better UI experience. However, the page containing graphical image may not be useful (or looks good) while this page is printed. A common UI practice is to have a 'Print this page' link in the application data pages, which redirects the user to a printer friendly page. This type of page contains a “Print” and a “Close” link, along with all the info of the corresponding record.
No browser buttons will be displayed, rather only the page content and browser title bar will be visible.
When there is an exception occurred while processing info, an error page will be shown with some text.
Session expire page:
If the user doesn’t interact with the application for 20 minutes (asp.net default), and tries to interact after then the user will be automatically redirected to the session expire page, which contains some text message. However we can override the session timeout value in "web.config" file.
There will be some test page which will illustrate complex data processing. However these pages will be placed on the public page, or can be authenticated by the test log-in page.
1. Once data insertion is completed, an automated e-mail notification will be sent to a predefined and/or the email that was just provided in the data insertion.
2. Developers will be notified thru mail when there is an exception occurred by the application.
3. Please consider the “Email From” address while sending the automated mail. Generally this is set to the developers e-mail (example: ).
4. Consider who will be the default E-mail receiver. Generally this is set to the developers e-mail (example: ).
1. Uploaded files will be saved with the “fileid_” prefix, so that no future uploaded file can replace this file.
2. Multiple files can be downloaded by the dynamic generation of ‘upload’ control by specifying by the user that how many files will be uploaded.
3. For uploaded file size, asp.net default is 4 MB. Please mention the size if you need greater than that.
4. By default the file attachments will be placed on “Virtual directory\Attachments” folder.
1. Help location:
a. To get the help content for any page, the ‘Help’ button is located with the other page navigation tab.
b. For any control, a ‘Help’ button icon can be embedded with it.
a. For each item/ page the help text can be placed onto separate html file.
b. All of the help contents can be placed into one html file.
c. For a given control, a simple help text can be placed at the below location of that, with a gray, italic format.
However, the provided outlines can be considered as "UI Standard Template". Before starting a new project, you can use this template to have the clients an idea about the future UI standard of the project and thus can update the UI standard easily according to agreed model.