|
11.11.05
Optimize ASP.NET Pages
By Reducing The Size Of The VIEWSTATE
By
Manoj Mansukhani
One way to optimize the pages you develop with ASP.NET is to keep a check on the
view state of the page and the controls that are added to the page.
Any seasoned developer of ASP.NET will remember the VIEWSTATE which is added to
every page in a hidden field _VIEWSTATE and contains base64 encoded data which
could be any where from 800 to tens of thousands of characters long depending
on your usage of this property on your page.
There are many issues with view state in ASP.NET 1.x. It is on by default, and
unless you know to look for it and disable it when it is not needed, it can significantly
increase the amount of data rendered by your page. This becomes particularly painful
when you use data-bound controls, all of which use view state to save their state
across post backs.
You need to ensure that you only use the VIEWSTATE property for the page and controls
where necessary so that the size of the value for the hidden field of _VIEWSTATE
is minimum. This will ensure that your page loads fast and that the search engines
can retrieve the actual content of your page.
Some search engines only read a certain set of characters from the top (that's
why you have most SEO specialists mentioning that you should have your keywords
on the top of the page) and the bottom of the page. If the value of the hidden
field of _VIEWSTATE is long on your page then these search engines would not be
able to get to the actual content of your page as a result it would never map
the keywords (keywords density) and you would have a low ranking on these search
engines.
How to decrease the size of the view state?
a. As mentioned before the VIEWSTATE for any page is set to TRUE by default. If
you do not require the controls or the page to hold the VIEWSTATE you can disable
the VIEWSTATE for the page completely by adding the directive to the page. (Usually
if you have a page that does not post back to itself you can disable the VIEWSTATE
on these pages.)
b. You can selectively disable the VIEWSTATE of the controls, datagrids etc that
you use on the page if these controls do not post back to the same page.
You will see a considerable difference in the page size and the loading time of
the page once you disable the VIEWSTATE of the controls or the page. This will
also be evident from the size of the base64-encoded string in the value field
of the hidden field of _VIEWSTATE. By disabling the VIEWSTATE for a couple of
datagrid controls on one of the pages of our clients website, we were able to
reduce the VIEWSTATE of the page from 10,000 characters to 1000 characters and
the page size also reduced by a few kilobytes (KB).
About the Author:
Manoj Mansukhani is the founder and CEO of Scarlet Technologies (http://www.scarlettech.com).
They provide services to help business get setup and succeed online. Their services
include online marketing, search engine optimization, increasing website conversion
rates and web development. Visit the website or contact him to find out how you
can succeed online. |